码迷,mamicode.com
首页 > 其他好文 > 详细

STM8S和STM8L调试串口中断的注意点

时间:2016-09-06 23:00:40      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

1. STM8L串口中断注意点
在调试PM2.5传感器GP2Y1051的时候,发现在仿真的时候开始能够进行数据的接受,但是如果暂停之后就不能接受数据,其实只是接收了一次完整的数据。

问题程序
技术分享

解决方法

  1. if(USART_GetITStatus(USART1, USART_IT_RXNE))
  2. {
  3. RecevieData = USART_ReceiveData8(USART1);
  4. switch(state_machine)

2. STM8S串口中断注意点
征对STM8S003F3或者103系列等单片机,由于其余其他单片机不一样,串口接收中断中有ORE,即过载错误,收中断;如图:
技术分享
故需要在串口接收中断中做如下处理:
技术分享

  1. if(UART2->SR & UART2_SR_OR)
  2. {
  3. UART2->SR &= ~UART2_SR_OR;
  4. UART2->SR &= ~UART2_SR_RXNE;
  5. u8RevDat=UART2_ReceiveData8();
  6. }
  7. else
  8. u8RevDat=UART2_ReceiveData8();
  9. RecevieData = u8RevDat;




STM8S和STM8L调试串口中断的注意点

标签:

原文地址:http://www.cnblogs.com/mcumagic/p/5847393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!