STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?相关的知识,希望对你有一定的参考价值。
不知道你的uart_SendByte(REV);函数实现是不是等待发送完成才返回的,还是立即返回如果是立即返回,那么后面的清除完标志之后,发送标志会在发送完成之后置位,然后会再进入中断,至于REV仍然存在数据1,大概是因为没有其它的操作覆盖掉数据。 参考技术A 楼主,我最近也遇到这个问题
请问你问题解决了么,能否说说怎么解决的?谢谢 参考技术B 你的程序进入死循环了
你
发送数据前吧串口中断关闭
等数据发送完毕后在打开串口中断
STM32怎么接收不定长串口数据
不知道你使用的是hal库?标准库?起始可以使用IDLE 中断,可以实现不定长串口数据,另一种方法就是有一个结尾界定符,只有收到结尾界定符才认为接收完成。 参考技术A 使用串口超时接收方式(适用于所有类型MCU)原理,串口每接收一个字符,清除定时器超时计数;接收数据全部完成后,就不再清除定时器计数,定时器就会产生超时中断,提示用户数据帧已经接收完成。
硬件资源:UART一个,1ms周期定时器一个;
以上是关于STM8S单片机串口UART2接收中断一直在运行,出不来,怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章
STM8S单片机UART串口通信如何实现连续发送和接收两个8位数据