打印

超级终端的运行原理疑问???

[复制链接]
3917|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
putron09|  楼主 | 2010-8-26 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 putron09 于 2010-8-26 21:34 编辑

我使用超级终端时,设置里面明明可以设置以换行符作为发送行末尾。但是
实际上是一字节一字节处理的,速度感觉很慢。
有人会说串口 底层本来就是一字节一字节的处理的,这里我说的是感觉超级终端以一个字节为一个包处理的,不像串口调试工具,你先写好一串字符,按发送后一起发过去了。
所以在这里会出现:用超级终端来测试STM的虚拟串口程序永远都不会错,也就是PC上超级终端每次丢一字节数据给底层USB发给STM,这个有点像3.1.0例程中串口中断收到一字节就马上通过USB往PC上发一样。这样肯定不会出错。
问题还是出现了,我发过类似的帖子,就是用串口调试助手调试虚拟串口的例子时。发送64的倍数  个数据  会出现收到的数据大于发送的。感兴趣的可以自己实践一下,不管用官方哪个版本的虚拟串口例程,都是这个结果。
我至今都没有找到答案,所以现在我没办法,只有在上层将数据分包,而且还不能分成64一包,而分的是63字节一个包,郁闷啊!!!
沙发
aihe| | 2010-8-26 22:27 | 只看该作者
楼主有没有分析一下数据包,多的是什么

使用特权

评论回复
板凳
香水城| | 2010-8-27 08:34 | 只看该作者
超级终端是控制PC串口的工具,楼主你分析超级终端的运行原理,怎么还有USB呀?是不是有个USB虚拟串口转换器?你怎么不分析一下这个USB虚拟串口转换器是怎么处理数据包的?

使用特权

评论回复
地板
putron09|  楼主 | 2010-8-27 12:03 | 只看该作者
本帖最后由 putron09 于 2010-8-27 12:04 编辑

回2楼的,多的64字节数据就是它前面的一个整包,重复了。
回3楼的,是STM官方的虚拟串口例程,我在每次EP3_OUT_Callback中通过串口反馈一个字符到PC上,使用
超级终端发数据时(文本文档,64字节) 发送到STM,STM居然中断接收64次,每次一字节。用串口调试工具发送同样一个文本文档,STM中断两次,每次收到64字节数据。  有哪位不信的话,请下载官网的任一个版本的
虚拟串口例程,请使用任一个串口调试助手,来发送64字节的数据。试试就知道会不会出现这个问题。

使用特权

评论回复
5
香水城| | 2010-8-27 12:50 | 只看该作者
嗯,4楼这么说总算明白了,你在测试虚拟串口程序,:D

那么你可以看看这个帖子:基于STM32F103的USB VCD代码,看看能不能解决你的问题?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

172

帖子

2

粉丝