sos博 发表于 2019-10-13 21:14:08

HAL串口中断接收怎么切换回普通串口接收?

1,stm32F0+HAL库2,因为我要处理串口发送来的字符串,所以我要弄成中断接收,字符串是不知道多长的。
3,我在中断接收到某一句字符串的时候(例如:升级命令),我要进入串口接收新固件的协议里,这个时候就不能用中断接收了,只要按着时序协议普通串口接收就好。
4,问题:所以我要在收到命令后,关闭串口中断接收,打开普通串口接收。


请问怎么在程序中随意切换串口中断接收和串口普通接收?谢谢。





奏奏奏 发表于 2019-10-14 06:12:32

不用区分,串口中断都设定一个字节就进入中断处理函数,统一解析判断属于两种情况中的哪一种。
关键在于这两种协议要能通过软件判断区分出来,这是一门学问。

glenxu 发表于 2019-10-14 08:38:48

在你需要的任何时候关闭、清除标志即可。

mikecai 发表于 2019-10-14 08:45:32

可以串口DMA接收不定长度啊,DMA的数据 传入缓存,解析缓存数据包,想干啥不随您吗
页: [1]
查看完整版本: HAL串口中断接收怎么切换回普通串口接收?