zoukankan      html  css  js  c++  java
  • STM8S和STM8L调试串口中断的注意点

    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;




  • 相关阅读:
    额外的 string 操作
    vector 对象是如何增长的
    顺序容器操作
    容器库概览
    顺序容器概述
    特定容器算法
    泛型算法结构
    再探迭代器
    定制操作
    使用关联容器
  • 原文地址:https://www.cnblogs.com/mcumagic/p/5847393.html
Copyright © 2011-2022 走看看