[at32f407]串口空闲中断多次触发的问题
本帖最后由 13728885036 于 2024-9-9 18:59 编辑我现在用的是官方提供的freertos+lwip的工程模板,但是开启串口空闲中断时,每发送1帧数据,空闲中断会被触发很多次,而接收中断触发次数是正常的,取决于1帧个字节,现在测了官方的两个模板,只测了串口1和串口2,sc0082那个会触发多次,sc0104是正常的,我用官方开发板和自己打的硬件板子测过都是这种情况,主要我现在的代码用的是sc0082那个工程不想换份工程重新移植了,现在不能正常使用串口空闲中断,有没有官方人员测一下看看是什么原因?
左边是代码,右边是调试结果,每帧数据3字节共发2帧,上面不正常下面是正常的,我想知道工程改过什么吗?
按照图中代码,测试没有复现到问题。可以看看串口的RX上会不会有干扰信号?或者可将你能复现问题的代码发出,我们再看能不能复现 这份工程,你测测看,麻烦了 13728885036 发表于 2024-9-10 09:52
这份工程,你测测看,麻烦了
此sample code的库函数版本比较旧,usart_flag_clear函数清除IDLE标志位序列不是很完善,正确清除顺序是读STS,再读DT。请使用新版本BSP库文件可解决此问题。 清除空闲中断标志位还是遵循使用寄存器的方式读STS和DT。库函数在好几个平台都有这个问题,
页:
[1]