MC0 Mcal的UART问题
-
-
zhai 在 MC0 Mcal的UART问题 中说:
RuiXu 刚刚试了一下,按照这种方式操作,也是发送完成后才能进行回读,比如要发送2字节,中断进入顺序是TX_EMPTY->TX_EMPTY->END_TX->RX_FULL->END_RX。还是不能实现最初的一个字节发送错误就立即终止后续发送需求
连续两次进入TX_EMPTY是由于TX_EMPTY的中断响应时间太快了,可能响应第二次中断的时候第一个字节还没有接收完成。校验有一定的滞后性,但是比发送多个字节后响应IDLE校验要好一些。由于MC0没有硬件回读的功能,因此目前只有这种方法。或者可尝试修改底层代码,只使用TX完成中断作为发送中断,这样理论上也可以,但是要修改底层逻辑
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...
修改后在调用初始化函数CddUart_Init后调用一次CddUart_StartSetCallBackFun即可达到不使用发送完成回调函数的效果。