华大单片机串口BUG
华大单片机串口BUG波特率较快时,发送使用查询,接收使用中断方式,波特率为115200,会死机,停在Uart_SendData函数,原因为,虽然发送是不开中断,但是接收会进入中断函数,此时刚好发送产生中断标志,一起把发送的中断完成标志清楚了,导致一直处于发送函数条不出来,解决方法如图二,在中断里面不清除发送标志位。
狗啃模拟 发表于 2022-1-26 23:42
你这个是很久之前的库了吧,现在还有这样的么???? 楼主说的bug还有一种情况就是本身MCU的UART接收和发送的buf是共用的,你接收数据比发送数据还快的话,也就是在发送的时候接收中断又来了,那么就导致一帧还没发送完成就被接收数据给冲掉了。所以UART发送完成标志位一直不置位。如果是这种情况就是不根据MCU本身的特性来,任性胡为之。
页:
[1]