CH32V103 串口发送中断怎么做?

习惯串口发送是用中断来做。 主循环里设置发送的第一个数据,然后每发完一个数据进入中断发送后续的数据。

例程里边都是用的while等待轮询的方式。 我不太能接受这样的形式。


我这里初始化设置了 发送空中断 或者是 发送结束中断。

在中断中判断? ? ? ? ? ?发送空标志 或者是 发送结束标志(结束有清楚标志) 来控制发送的下一个数据。

但是发现怎么一直莫名其妙进中断 判断也不对。 麻烦提供一份例程??


个人信息保护,已隐藏

已回复


你好,我也遇到这个问题,要怎么解决??


附件串口中断发送例程参考。需要注意的是串口发送中断标志位复位值为1,开发送中断就会直接进,须在发送完成时及时关掉

image.png

icon_rar.gif307USART-中断发送.zip



现在基本上不用中断来做串口通讯了,现在都是每1ms中断查询DMA收发是否改变,再配合波特率持续5ms以上没有改变就认为一帧数据完成了。虽然有点麻烦,但是起码在高波特率时不会浪费太多中断时间来处理出口数据。


只有登录才能回复,可以选择微信账号登录