查看: 522|回复: 4

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

[复制链接]

3

主题

7

帖子

89

积分

注册会员

Rank: 2

积分
89
发表于 2022-6-25 15:49:43 | 显示全部楼层 |阅读模式
买了CH32V103开发板,串口通迅打印比其它芯片来得就是直接好用,但没有串口中断是一个致命的伤害,通迅时每次都要等待程序走一遍才能收到,若是一长程序肯定会出不少错误,大家有没有解决办法?天问团队为什么不把串口中断做上?
回复

使用道具 举报

8

主题

46

帖子

901

积分

版主

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

3

主题

7

帖子

89

积分

注册会员

Rank: 2

积分
89
 楼主| 发表于 2022-6-26 19:46:32 | 显示全部楼层
libai500 发表于 2022-6-26 15:48
是这样的,天问CH32V串口库确实暂时没提供中断,但并不意味着其串口是查询模式。具体我也没深入研究,但猜 ...

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

使用道具 举报

8

主题

27

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2022-6-27 17:03:36 | 显示全部楼层
屏幕截图 2022-06-27 170128.jpg 这样的速度达不达到要求

回复

使用道具 举报

41

主题

167

帖子

3036

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3036
发表于 2022-6-27 21:45:26 | 显示全部楼层
范例代码里就有,外设设备
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-3-29 00:26 , Processed in 0.346466 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表