看啦些许日子的 , 没见有人发,今天就给大家发个调试用的 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)
{
/* Basic chip initialization is taken care of in SystemInit() called
* from the startup code. SystemInit() and chip settings are defined
* in the CMSIS system_<part family>.c file.
*/
/* NVIC is installed inside UARTInit file. */
UARTInit(115200); //初始化串口波特率
UARTCount=1; //这里是一个测试程序
bb[0]=0x00; //接收数组清零
GPIOSetDir(PORT0, 7, 1 ); //1为输出
TX_EN; //指示灯的使用
UARTSend((uint8_t *) aa,10); //串口发送函数
while (1)
{
/* Loop forever */
if ( UARTCount != 0 ) //用于测试
{
LPC_UART->IER = IER_THRE | IER_RLS; /* Disable RBR */
bb[0]=UARTRec(); //串口接收函数
UARTSend((uint8_t *) bb,1);
LPC_UART->IER = IER_THRE | IER_RLS | IER_RBR; /* Re-enable RBR */
}
}
}
这里是接收函数 , 可以自己放置位置
uint8_t UARTRec()
{
uint8_t BufferPtr;
while((LPC_UART->LSR & 0x01) == 0); /* 等待接受数据到达RBR */
BufferPtr = LPC_UART->RBR;
return BufferPtr;
}