最實用UART 程序 有相關注釋, 主要用于調試!!
看啦些許日子的 , 沒見有人發,今天就給大家發個調試用的 UART 的程序 , 至于接收函數 , 論壇里的朋友可以自己做更改 改為 接收字節 可以控制的那種也行, 因為實用的關系, 看看還有什么東西可以調下的, 共同交流
感覺交流的不是很多的那種, 是什么原因有待。。。。。
程序簡單, 共同交流 !!
大部分的都是源程序使用的, NXP弄的例程 都是標準的那種!!
#include "LPC11xx.h" //芯片頭文件
#include "uart.h" //串口頭文件
#include "gpio.h" //IO口頭文件
#define TX_EN GPIOSetValue( PORT0, 7, 0); //另一種定義方式!!呵呵
extern volatile uint32_t UARTCount;//串口發送字節數外部變量
extern volatile uint8_t UARTBuffer[BUFSIZE];//串口發送數組外部變量
uint8_t aa[10]="2010.5.9AM"; //定義需要發送的數組 該下日期
uint8_t bb[1]; //定義接收數組
int main (void)
{
UARTInit(115200); //初始化串口波特率
UARTCount=1; //這里是一個測試程序
bb[0]=0x00; //接收數組清零
GPIOSetDir(PORT0, 7, 1 ); //1為輸出
TX_EN; //指示燈的使用
UARTSend((uint8_t *) aa,10); //串口發送函數
while (1)
{
if ( UARTCount != 0 ) //用于測試
{
LPC_UART->IER = IER_THRE | IER_RLS;
bb[0]=UARTRec(); //串口接收函數
UARTSend((uint8_t *) bb,1);
LPC_UART->IER = IER_THRE | IER_RLS | IER_RBR;
}
}
}
這里是接收函數 , 可以自己放置位置
uint8_t UARTRec()
{
uint8_t BufferPtr;
while((LPC_UART->LSR & 0x01) == 0);
BufferPtr = LPC_UART->RBR;
return BufferPtr;
}