bjsxst 发表于 2022-6-25 15:49:43

ch32V103没有串口中断的解决办法

买了CH32V103开发板,串口通迅打印比其它芯片来得就是直接好用,但没有串口中断是一个致命的伤害,通迅时每次都要等待程序走一遍才能收到,若是一长程序肯定会出不少错误,大家有没有解决办法?天问团队为什么不把串口中断做上?

libai500 发表于 2022-6-26 15:48:55

是这样的,天问CH32V串口库确实暂时没提供中断,但并不意味着其串口是查询模式。具体我也没深入研究,但猜测是DMA的,或者是后台中断的形式。因为在测试中,你会发现它并不是完全的阻塞等待。这种风格的串口指令,在接收部分有一个超时和结束符判定,如果没有结束符,并且默认1秒超时,那确实会阻塞1秒。
我个人感觉是库比较仓促上阵。没能实战优化。没提供串口中断,应该是因为天问认为采用了DMA或后台中断形式,已经无需用户层面中断了。但确实又未能完善所致。
另外因相关函数还不是开源的,所以到底发生了什么,不得而知。
除了期待官方优化,还可以根据沁恒提供的SDK包,自行套入中断程序或DMA程序。也是期待有高人参与,提供下文。
看法不一定对,全当帮顶吧。

bjsxst 发表于 2022-6-26 19:46:32

libai500 发表于 2022-6-26 15:48
是这样的,天问CH32V串口库确实暂时没提供中断,但并不意味着其串口是查询模式。具体我也没深入研究,但猜 ...

应该可以写串口中断,在提供的例子里就有,但是全代码的,没有做成图形化,我把例子编译后烧进板子,还是有中断用起回复迅速,不知天问团队为什么不把它编到库里面

林发 发表于 2022-6-27 17:03:36

这样的速度达不达到要求

zly188 发表于 2022-6-27 21:45:26

范例代码里就有,外设设备
页: [1]
查看完整版本: ch32V103没有串口中断的解决办法