用UART2串口,设置成1byte进中断模式,9600波特率,在运行中发现只要发送2个以上的字符就会进入中断2次。第一次进中断读取到发送的2个数据,第二次读取的为0。
我自己分析是因为设置为1字节进中断后,进入中断读取第一个数据后,后续的数据又进来导致中断标志位再次置位或来不及复位,导致出中断后又进中断。
请问为什么会这样,各位大神对16位FIFO是怎么用的
2022/09/06 14:17
应该是UART IP工作频率与CPU相比差距比较大的原因。导致CPU已经执行到中断函数退出,UART中断标志还没清完
所有M4芯片的清中断标志,不能放在中断代码的最后一句