⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart_test.c

📁 s3c6400 ADS下官方测试程序
💻 C
📖 第 1 页 / 共 3 页
字号:
/**************************************************************************************
* 
*	Project Name : S3C6400 Validation
*
*	Copyright 2006 by Samsung Electronics, Inc.
*	All rights reserved.
*
*	Project Description :
*		This software is only for validating functions of the S3C6400.
*		Anybody can use this software without our permission.
*  
*--------------------------------------------------------------------------------------
* 
*	File Name : uart_test.c
*  
*	File Description : This file implements the API functons for Timer UART test.
*
*	Author : Woojin,Kim
*	Dept. : AP Development Team
*	Created Date : 2007/01/16
*	Version : 0.1 
* 
*	History
*	- Created (Woojin,Kim 2007/01/16)
*  
**************************************************************************************/


#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <stdio.h>
#include "system.h"
#include "dma.h"
#include "uart.h"
#include "intc.h"
#include "def.h"
#include "library.h"
#include "timer.h"

void UART_Test(void);
void Uart_BasicTest(void);
void Uart_PollingTx(void);
void Uart_PollingRx(void);
void RxBufferClear(void);
void Uart_SpeedTx(void);
void Uart_SpeedRx(void);
void Uart_SpeedPollingTx(void);
void Uart_SpeedPollingRx(void);
void TxBufferInit(void);
void Uart_IrDATx(void);
void Uart_IrDARx(void);
void Uart_SendBreak(void);
void Uart_LoopBack(void);
void Uart_LoopBackPerformance(void);
void Uart_TxAgingTest(void);
void Uart_RTS(void);
void Uart_CTS(void);
void Uart_ModemInt(void);


#define UART_BUF 		(0x51000000)



const testFuncMenu g_aUARTTestFunc[] =
{	
	Uart_BasicTest,				"UART Tx/Rx test by user Input",
	Uart_PollingTx,					"UART Polling Tx test",
	Uart_PollingRx,					"UART Polling Rx test",
	Uart_SpeedTx,						"UART Speed Tx test with INT FIFO",
	Uart_SpeedRx,						"UART Speed Rx test with DMA FIFO(1byte)",
	Uart_SpeedPollingTx,					"UART Speed Tx test by Polling",
	Uart_SpeedPollingRx,					"UART Speed Rx test by Polling",
	Uart_LoopBackPerformance,			"UART Speed test by LoopBack mode",
	Uart_IrDATx,							"UART IrDA Tx Test",
	Uart_IrDARx,							"UART IrDA Rx Test",
	Uart_SendBreak,						"UART SendBreak signal Test",
	Uart_LoopBack,						"UART LoopBack Test",
	Uart_TxAgingTest,						"UART Tx Aging Test",
	Uart_RTS,							"UART RTS(manual mode) test",
	Uart_CTS,								"UART CTS(manual mode) test",
	Uart_ModemInt,						"UART Modem Interrupt test",
	0,0
};


void UART_Test(void)
{
	u32 uCountFunc=0;
	s32 iSel=0;

	while(1)
	{
	printf("\n\n================== UART Function Test =====================\n\n");
		for (uCountFunc=0; (u32)(g_aUARTTestFunc[uCountFunc].desc)!=0; uCountFunc++)
			printf("%2d: %s\n", uCountFunc, g_aUARTTestFunc[uCountFunc].desc);

		printf("\nSelect the function to test : ");
		iSel =GetIntNum();
		printf("\n");
		if(iSel == -1) 
			break;

		if (iSel>=0 && iSel<(sizeof(g_aUARTTestFunc)/8-1))
			(g_aUARTTestFunc[iSel].func) ();
	}
}	


////////////
// File Name : Uart_BasicTest
// File Description : Check Uart Operation by user's Input
// Input : user select
// Output : Txstring & Rxstring through the selected channel
// Version : 0.1

void Uart_BasicTest(void)
{
	u8 ch;
	static u8 acTestString[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->Tx interrupt good!!!!!!!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->Tx interrupt good!!!!!!!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->Tx interrupt good!!!!!!!\r";
//	static u8 acTestString[]="UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!\r ";
//	static u8 acTestString[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz0123456789 ";

	ch = UART_Config();	
	if( UART_Open2(ch) == SENDBREAK ) 
	{
		printf("\n\nSend Break Signal has been transfered\n");
		return; 	
	} 	
	// UART Tx test with interrupt	

//	
	if (ch == 0)
	{
	printf("Debug Channel will be channel 1\n");
	UART_InitDebugCh(1,115200);
	Delay(1000);
	}	
//
	
	printf("\n[Uart channel %d Tx Test]\n",ch);	
	UART_TxString(ch, acTestString);
	printf("\nTx Done~ \n");	


	RxBufferClear();

		
	// UART Rx test with interrupt 
	printf("\n[Uart channel %d Rx Test]\n",ch);
	printf("Case 1 : Interrupt mode. After typing characters and pressing ENTER key.\n");
	printf("Case 2 : Interrupt FIFO mode & DMA mode. After typing characters and pressing ENTER key until FIFO level trigger.\n");	
	printf(" Then, you will see those characters.\n");
	printf("\nRx : %s \n",UART_RxString(ch));
	printf("\nRx Done~ \n");

	// Test End
	printf("\nComplete UART test!!! \n");
	UART_Close(ch);
	Delay(10000);	
	UART_InitDebugCh(0,115200); // change channel setting for debug port set
}


////////////
// File Name : Uart_PollingTx
// File Description : Check Uart Polling Operation through the channel 1
// Input : NONE
// Output : Txstring
// Version : 0.1
void Uart_PollingTx(void)
{
	s8 sCh;	
	u8* pUartTxStr;
//	u8 acTestPString[]="\r";
	u8 acTestPString[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART Tx Polling test is good!!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART Tx Polling test is good!!!!\r";
//	static u8* acTestPString="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890->UART Tx Polling test is good!!!!\r";



	printf("Which channel do you want to check?\n");
	printf("[0 ~ 3] :");
	sCh = GetIntNum();
	if (sCh == -1)
		sCh = 1;
	else if (sCh == 0)
	{
	printf("Debug Channel will be channel 1\n");
	UART_InitDebugCh(1,115200);
	Delay(10000);
	}	

	printf("\n");


		
	UART_SetConfig(sCh,0,1,1,4,3,2,1,115200,1,1,1,1);
//	sCh = UART_SetConfig(1,0,1,1,4,1,2,1,115200,1,1,1,1);
	UART_Open2(sCh);

//	Delay(100);
#if 1

	pUartTxStr = acTestPString;

	while(1) {
				if(UART_RdUTRSTAT(sCh)&0x4) 
				{
					UART_WrUtxh(sCh,*pUartTxStr);

					if(*pUartTxStr == '\r') 
						break;

					pUartTxStr++;
				}
		}
#else
	while(1) {
				if(UART_RdUTRSTAT(sCh)&0x4) 
				{
					UART_WrUtxh(sCh,*acTestPString);
					if(*acTestPString == '\r') 
						break;


					acTestPString++;
				}
		}

#endif
	printf("\nPress Enter when you complete to check Rx\n");
	UART_Getc();

	UART_Close(sCh);
	Delay(10000);	
	
	
	UART_InitDebugCh(0,115200);	

}


// File Name : Uart_PollingRx
// File Description : Check Uart Polling Operation through the channel 1 (AFC mode)
// Input : Typing any character throught the channel 1
// Output : Rxstring which has got throught the channel 1
// Version : 0.1

void Uart_PollingRx(void)
{
	s8 sCh;
	volatile u8 *pUartRxStr;


	printf("Which channel do you want to check?\n");
	printf("[0 ~ 3] :");
	sCh = GetIntNum();
	if (sCh == -1)
		sCh = 1;
	else if (sCh == 0)
	{
	printf("Debug Channel will be channel 1\n");
	UART_InitDebugCh(1,115200);
	Delay(1000);
	}	

	printf("\n");
	printf("Input any character through the channel %d\n",sCh);
	printf("Press Enter key will stop test & show Rxstring\n");

	UART_SetConfig(sCh,0,1,1,4,3,2,1,115200,1,1,1,1);
//	sCh = UART_SetConfig(1,0,1,1,4,1,2,1,115200,1,1,1,1);
	UART_Open2(sCh);

//	Delay(100);
	pUartRxStr=(u8 *)(UART_BUF+0x200000);
	RxBufferClear();
	
	while(1) 
		{
			if(UART_RdUTRSTAT(sCh)&0x1) 
			{

			*pUartRxStr = UART_RdUrxh(sCh);


				if(*pUartRxStr == '\r')
					break;

				
				pUartRxStr++;
			}
		}

	pUartRxStr =(u8 *)(UART_BUF+0x200000);

	printf("##Rx :  ");
	while(1) 
		{
			printf("%c",*pUartRxStr);
			if(*pUartRxStr == '\r')
				break;
			
			pUartRxStr++;
		}

	UART_Close(sCh);
	Delay(10000);
	UART_InitDebugCh(0,115200);
}


// File Name : RxBufferClear
// File Description : Make Buffer as 0 for Polling test
// Input : NONE
// Output : NONE
// Version : 0.1

void RxBufferClear(void)
{
	u32 uCnt;
	u32 *ptrBuf;

	ptrBuf=(u32 *)(UART_BUF+0x200000);

	for(uCnt=0;uCnt<20000;uCnt+=1)
		*(ptrBuf+uCnt) = 0xffffffff;
	
//	ptrBuf=(u32 *)(UART_BUF);

//	for(uCnt=0;uCnt<1000;uCnt+=1)
//		*(ptrBuf+uCnt) = 0xffffffff;
	
}

// File Name : Uart_SpeedTx
// File Description : Check Uart Speed Operation through the channel 1 (AFC mode)
// Input : NONE
// Output : Txstring on channel 1
// Version : 0.1

void Uart_SpeedTx(void)
{
	s32 sCh;	
	s32 sBrate=0;
	static u8 acTestPString[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is end\
ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Speed test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling  end\r";
//	static u8 acTestPString[]="!!\r";
//	static u8 acTestPString[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890->UART Tx Polling test is good!!!\r";
//	static u8 acTestPString[]="UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!\r ";


	printf("Which channel do you want to check?\n");
	printf("[0 ~ 3] :");
	sCh = GetIntNum();
	if (sCh == -1)
		sCh = 1;
	else if (sCh == 0)
	{
	printf("Debug Channel will be channel 1\n");
	UART_InitDebugCh(1,115200);
	Delay(1000);
	}	

	printf("\n");

	printf("How much BaudRate do you want to use as a Tx?\n");
	printf("BaudRate (ex 9600, 115200[D], 921600) : ");
	sBrate = GetIntNum();
	if (sBrate == -1)
		sBrate = 115200;

	UART_SetConfig(sCh,0,1,1,4,3,1,1,sBrate,1,4,1,1);	
//	ch = UART_SetConfig(1,0,1,1,4,3,1,1,sBrate,1,4,2,7);
	UART_Open2(sCh);

	printf("\n Get ready to Rx and tPress Enter (bcuz of GPIO setting).  It will start to Tx !!!\n"); 
	UART_Getc();

 	UART_TxString(sCh,acTestPString);

	printf("\nPress Enter when you complete to check Rx\n");
	UART_Getc();

        UART_Close(sCh);

	Delay(10000);
	UART_InitDebugCh(0,115200);
}


// File Name : Uart_SpeedRx
// File Description : Check Uart Speed Operation through the channel 1 (AFC mode)
// Input : Type any character throught the channel 1
// Output : Rxstrings which has got throught the channel 1
// Version : 0.1

void Uart_SpeedRx(void)
{
	s32 sCh;	
	s32 sBrate=0;

	printf("Which channel do you want to check?\n");
	printf("[0 ~ 3] :");
	sCh = GetIntNum();
	if (sCh == -1)
		sCh = 1;
	else if (sCh == 0)
	{
	printf("Debug Channel will be channel 1\n");
	UART_InitDebugCh(1,115200);
	Delay(1000);
	}	

	printf("\n");

	printf("How much BaudRate do you want to use as a Rx?\n");
	printf("BaudRate (ex 9600, 115200[D], 921600) : ");
	sBrate = GetIntNum();
	if (sBrate == -1)
		sBrate = 115200;
	printf("\n");

	
	UART_SetConfig(sCh,0,1,1,4,3,1,1,sBrate,2,2,1,1);  //DMA mode
//	sCh = UART_SetConfig(sCh,0,1,1,4,3,1,1,sBrate,1,1,1,1);  //interrupt mode
//	ch = UART_SetConfig(1,0,1,1,4,3,1,1,sBrate,1,4,2,7);
	UART_Open2(sCh);

	RxBufferClear();


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -