嵌入式 > 技术百科 > 详情

STM8串口UART调试记录

发布时间:2023-03-24 发布时间:
|

本来UART的调试是非常简单的,但是在STM8上折腾了好几天,在此记录一下,希望遇到相同问题的朋友能够不折腾,工作顺利,生活开心!


问题描述:

使用STM8的UART1,波特率9600,发送中断关闭,接收中断打开。接收单字节,没有问题。接收多字节,接收数据不完整,而且每次丢失的字节个数固定,比如发送17个字节,每次都只能接收到到15个字节。


折腾过程:

1.按照网友说的如下,结果还是出现丢失数据。

if(UART1_GetITStatus(UART1_IT_RXNE) != RESET)

{

temp =UART1_ReceiveData8();

}


2.添加处理过载时发生中断的处理,任然还是出现丢失数据。

解决办法:

先读取数据,再清理中断。完事就是这么简单。

void MCU_UartInterruptISR(void)
{

UARTRxData.rxData[UARTRxData.nBytes] = UART1_ReceiveData8();

UART1_ClearFlag(UART1_FLAG_RXNE);
}


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Intel Skylake新架构的秘密:逆超线程.单核猛增