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

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

    STM8S和STM8L调试串口中断的注意点_第1张图片

    解决方法

  1. if(USART_GetITStatus(USART1, USART_IT_RXNE))
  2. {
  3. RecevieData = USART_ReceiveData8(USART1);
  4. switch(state_machine)
    1. STM8S串口中断注意点 
      征对STM8S003F3或者103系列等单片机,由于其余其他单片机不一样,串口接收中断中有ORE,即过载错误,收中断;如图

    STM8S和STM8L调试串口中断的注意点_第2张图片

    故需要在串口接收中断中做如下处理

    STM8S和STM8L调试串口中断的注意点_第3张图片

  5. if(UART2->SR & UART2_SR_OR)
  6. {
  7. UART2->SR &= ~UART2_SR_OR;
  8. UART2->SR &= ~UART2_SR_RXNE;
  9. u8RevDat=UART2_ReceiveData8();
  10. }
  11. else
  12. u8RevDat=UART2_ReceiveData8();
  13. RecevieData = u8RevDat;

     

你可能感兴趣的:(STM8S和STM8L调试串口中断的注意点)