我的串口中断接收,查询(带延时)发送。使用HAL库。
遇到了一个问题,通过各种方法,暂时应该算是解决了,但是我不知道这样做的原因是什么。。。还请大家帮我分析一下。
现象很简单:
两条查询发送数据的时间间隔太短的话,有时会造成接收中断使能的标志位被清除,从而进不了接收中断函数,但是查询发送的数据是没有问题的。
解决办法:
我把发送也改成中断方式以后这个问题暂时还没有出现。
问题:
不明白为什么发送的方式为什么会对接收中断标志位产生影响。
接收中断标志在进中断函数时清除,出中断函数之前置位。那么也就是说进中断函数处理完数据把中断标志位清除了,然后没有执行打开中断就跳出了中断函数。
实在理解不了,还请大家指导一下!
|