專注電子技術(shù)學(xué)習(xí)與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

NXP lpc11xx M0 UART程序詳細注釋

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年08月17日   【字體:

  最實用UART 程序 有相關(guān)注釋, 主要用于調(diào)試��!

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