stm32 串口收发数据不稳定问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}
}

以上是关于stm32 串口收发数据不稳定问题的主要内容,如果未能解决你的问题,请参考以下文章

stm32内部的iic怎么感觉不稳定啊,大家遇到过没

STM32F429时钟不正确导致串口无法正确收发

stm32-HAL库串口收发

stm32串口通讯

STM32 通过DMA收发RS485数据需要特别的电路配合吗

stm32中断遵循原则