STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?相关的知识,希望对你有一定的参考价值。

不知道你的uart_SendByte(REV);函数实现是不是等待发送完成才返回的,还是立即返回
如果是立即返回,那么后面的清除完标志之后,发送标志会在发送完成之后置位,然后会再进入中断,至于REV仍然存在数据1,大概是因为没有其它的操作覆盖掉数据。
参考技术A 楼主,我最近也遇到这个问题
请问你问题解决了么,能否说说怎么解决的?谢谢
参考技术B 你的程序进入死循环了

发送数据前吧串口中断关闭
等数据发送完毕后在打开串口中断

STM32怎么接收不定长串口数据

不知道你使用的是hal库?标准库?起始可以使用IDLE 中断,可以实现不定长串口数据,另一种方法就是有一个结尾界定符,只有收到结尾界定符才认为接收完成。 参考技术A 使用串口超时接收方式(适用于所有类型MCU)
原理,串口每接收一个字符,清除定时器超时计数;接收数据全部完成后,就不再清除定时器计数,定时器就会产生超时中断,提示用户数据帧已经接收完成。
硬件资源:UART一个,1ms周期定时器一个;

以上是关于STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

单片机串口发送的数据一直是00;求解

STM8S UART串口发送程序问题.

STM8S单片机UART串口通信如何实现连续发送和接收两个8位数据

求助,stm8s103串口接收中断进不了

关于STM8S003和S103,可能会出现的一直进入串口接收中断子程序问题的处理。

51单片机串口中断函数响应并返回后主函数运行到末尾后卡着不动,主函数无法循环了