专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

NXP lpc11xx M0 UART程序详细注释

作者:佚名   来源:本站原创   点击数:  更新时间:2014年08月17日   【字体:

  最实用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;
}
关闭窗口