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

NXP lpc11xx M0 UART程序詳細(xì)注釋

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

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

 
看啦些許日子的 , 沒(méi)見(jiàn)有人發(fā),今天就給大家發(fā)個(gè)調(diào)試用的 UART 的程序 , 至于接收函數(shù) , 論壇里的朋友可以自己做更改   改為 接收字節(jié) 可以控制的那種也行, 因?yàn)閷?shí)用的關(guān)系, 看看還有什么東西可以調(diào)下的, 共同交流
 
      感覺(jué)交流的不是很多的那種, 是什么原因有待。。。。。
 
      程序簡(jiǎn)單, 共同交流 !! 
 
       大部分的都是源程序使用的, NXP弄的例程 都是標(biāo)準(zhǔn)的那種��!
 
 
 
#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;                            //這里是一個(gè)測(cè)試程序
 
  bb[0]=0x00;                                  //接收數(shù)組清零
 
  GPIOSetDir(PORT0, 7, 1 );        //1為輸出
  TX_EN;                                        //指示燈的使用
  UARTSend((uint8_t *) aa,10);     //串口發(fā)送函數(shù)
  while (1) 
  {
 
 if ( UARTCount != 0 )                   //用于測(cè)試
 {
   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)閉窗口