zoukankan      html  css  js  c++  java
  • stm32 串口收发数据不稳定问题

      用中断接收串口数据时,有时会存在串口接收数据错乱的问题,此时需要配置的时候为

    uint8 u8Data;
    if ( USART_GetITStatus(USART1,USART_IT_RXNE) == SET )
    {
    USART_ClearITPendingBit(USART1,USART_IT_RXNE);  //实际测试,先清除后存在,效果很好

    u8Data=USART_ReceiveData(USART1);
    if (bUsart1ReFlag == 0)
    {
    g_s8RxDebugBuf[u8RxDebugLength++]=u8Data;
    }


    if(u8RxDebugLength > 127) /* 防止数据过多 */
    {
    u8RxDebugLength = 0;
    }
    else if( (g_s8RxDebugBuf[u8RxDebugLength-1]==0x0a)&& /* 结束标识 */
    (g_s8RxDebugBuf[u8RxDebugLength-2]==0x0d) )
    {
    bUsart1ReFlag = 1;
    }
    }

    人活在这个世界上,只是为了死的时候比出生的时候更完美些。
  • 相关阅读:
    HDU
    QDUoj GZS的三角形 棋盘里的数学 思维+杨辉三角
    HDU
    HDU
    CodeForces
    POJ
    QDUOJ 东北大炸弹 宝岛地图-枚举+数组记录+前缀和
    HDU
    QDUOJ 分辣条-01背包恰好装满情况
    HDU
  • 原文地址:https://www.cnblogs.com/zhangxueling/p/6485736.html
Copyright © 2011-2022 走看看