广告

LM3S一个较可靠的串口接收方法

2012-11-26 10:23 1271 0 分类: MCU/ 嵌入式 文集: 单片机与ARM

编写串口接收函数时

当通信速率很高,且单片机速度较慢时

如果接收函数写的不仔细就会发生数据没接收到的情况

下面的代码考虑到了每次对接收缓冲区的操作  每次进中断就读取缓冲区所有的数据 值得借鉴

//  UART2中断服务函数   
  void UART2_ISR(void)   
  {   
     char c;   
     unsigned long ulStatus;   
    
     ulStatus = UARTIntStatus(UART2_BASE, true);             //  读取当前中断状态   
     UARTIntClear(UART2_BASE, ulStatus);                     //  清除中断状态   
    
     if ((ulStatus & UART_INT_RX) || (ulStatus & UART_INT_RT))   //  若是接收中断或者   
     {                                                           //      接收超时中断   
         for (;;)   
         {   
             if (!UARTCharsAvail(UART2_BASE)) break;         //  若接收FIFO里无字符则跳出   
             c = UARTCharGetNB(UART2_BASE);                  //  从接收FIFO里读取字符   
    
             if (c == '\r')   
             {   
                 UARTCharPut(UART2_BASE, '\r');              //  回显回车换行   
                 UARTCharPut(UART2_BASE, '\n');   
                 RxEndFlag = true;                           //  接收结束标志置位   
                 break;   
             }   
    
             if (isprint(c))                                 //  若是可打印字符   
             {   
                 if (BufP  MAX_SIZE)   
                 {   
                     UARTCharPut(UART2_BASE, c);             //  回显   
                     RxBuf[BufP++] = c;   
                     RxBuf[BufP] = '\0';   
                 }   
             }   
         }   
     }   
  }
 
广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
liang890319_284707880 2016-03-22 11:41
[博客大赛]我在搞嵌入式 我有罪
  我在搞嵌入式 我有罪 做嵌入式也有几年了 刚学习的时候书上说嵌入式的定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计...
liang890319_284707880 2015-10-22 11:57
帕萨特迈腾蒙迪欧哪个好
氵灬清风灬说:太小了,没法穿了,懒得换了 junyao00022说:............................... jd272475byp说:宝贝收到啦,衣服质量非常不错,...
liang890319_284707880 2015-10-22 11:56
二手荣威550和二手起亚k2哪个好
二手荣威550和二手起亚k2哪个好   风之乞说:衣服挺好的,就是偏小,已经更换了 梦里水乡0609说:不错 很好  不了不错  赞 四灵之首说:衣服质量不错,韵达快递不行~ ...
liang890319_284707880 2015-10-22 11:55
澳大利亚深海鱼油哪个牌子好
hgjfhgj说:不错  价格便宜  款式不错  开始买中码小了一点  免费给换的  好店家 小杰c子说:非常合适。也很有气质 天佑945说:还可以,性价比高。。。。。。。。。。 Ab...
liang890319_284707880 2015-10-19 11:03
常用DDR sdram和Flash型号
  以下是代码片段: http://blog.csdn.net/myarrow/article/details/7854863   主要是三星 现代 ...
liang890319_284707880 2013-09-29 17:00
ROM FLASH RAM
EPROM、EEPROM、FLASH的总结性区别   http://xdc0363.blog.163.com/blog/static/11546200220...
我要评论
0
0
广告