?? main.c
字號:
/*
描 述:COM0測試程序,參考原理圖中“COM/Serial”部分
說 明:1. 測試程序接收來自串口的數(shù)據(jù)并反顯給串口;
2. 串口設(shè)置:8位長度、無校驗、1位停止位、波特率為38400
3. 系統(tǒng)時鐘48MHZ
記 錄:1. changyj 創(chuàng)建工程 2007-8-29
*/
#include "../Startup/Board.h"
// 波特率
#define USART_BAUD_RATE 38400
void UsartInitlize(); // 串口初始化
void UsartTest(); // 串口COM0測試程序
void Delay(unsigned long lDelayNum); // 延時函數(shù)(需改善)
int main()
{
UsartInitlize();
UsartTest();
return 0;
}
void Delay(unsigned long lDelayNum)
{
while(--lDelayNum!=0);
}
void UsartInitlize()
{
// 配置PIO控制器,定義RXD,TXD引腳
AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, AT91C_PA5_RXD0|AT91C_PA6_TXD0, 0);
// 允許US0(COM0)時鐘頻率
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1<<AT91C_ID_US0) ;
// 配置COM0為:異步正常模式、MCK時鐘、8位長度、無校驗、1位停止位、波特率為38400
AT91F_US_Configure (AT91C_BASE_US0, MCK,AT91C_US_ASYNC_MODE,USART_BAUD_RATE , 0);
// 使能TX,RX
AT91F_US_EnableTx(AT91C_BASE_US0);
AT91F_US_EnableRx(AT91C_BASE_US0);
}
void UsartTest()
{
int i;
for( i=0; i<100; i++)
{
// 循環(huán)等待接收數(shù)據(jù)
while(!AT91F_US_RxReady(AT91C_BASE_US0));
// 從COM0接收數(shù)據(jù),并重新發(fā)送給COM0
*AT91C_US0_THR = AT91F_US_GetChar(AT91C_BASE_US0);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -