打印

串口发送数据时间问题

[复制链接]
1155|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FAQ|  楼主 | 2014-10-12 13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
icekoor| | 2014-10-12 15:12 | 只看该作者
假定串口以中断的方式接收,这个间隔与接收中断周期有关。每一个BYTE接收完后,会产生一个中断,然后MCU进入中断服务程序,读取接收到的数据和完成相关的处理,然后关闭中断重新接收。
一般中断处理程序很少,所以时间很短,通常远小于通信的波特率。

使用特权

评论回复
板凳
airwill| | 2014-10-12 15:25 | 只看该作者
不知道是什么单片机,如果是 51,发生器硬件上是没有间隔的。那么实际的间隔就在于你的软件的延迟了,主要是指中断服务到完成写 SBUF 的时间。
有些单片机有双缓冲(如AVR,STM32),那么在缓存数据发送前,通常足够中断的响应和处理,就可以完全无间隔发送。当然,无间隔发送不一定是好的方式,所以有的单片机有意在两数据帧之间插入一个无效位。

使用特权

评论回复
地板
FAQ|  楼主 | 2014-10-12 17:41 | 只看该作者
大家注意,我是说电脑端向外发送数据。并非MCU之类的向电脑端发数据。

使用特权

评论回复
5
wangch_sh| | 2014-10-12 17:51 | 只看该作者
可以拿示波器测一下。

使用特权

评论回复
6
ningling_21| | 2014-10-12 18:44 | 只看该作者
电脑如果是连续发送,这个时间除了跟波特率大小有关之外,跟其它都无关...

使用特权

评论回复
7
hgjinwei| | 2014-10-12 22:05 | 只看该作者
串口配置项不是有个停止位宽配置吗?

使用特权

评论回复
8
FAQ|  楼主 | 2014-10-12 22:07 | 只看该作者
hgjinwei 发表于 2014-10-12 22:05
串口配置项不是有个停止位宽配置吗?

停止位宽就可以代表实际的间隔?

使用特权

评论回复
9
ningling_21| | 2014-10-13 10:37 | 只看该作者
FAQ 发表于 2014-10-12 22:07
停止位宽就可以代表实际的间隔?

不代表

这个时间是上一个字节停止位结束到 下一个字节开始 之间的间隔,如果其实可以理解为非常短.

使用特权

评论回复
10
diweo| | 2014-10-13 11:01 | 只看该作者
我觉得会受到操作系统任务调度的影响,具体时间不好确定。应该是很短的。

使用特权

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

本版积分规则

FAQ

227

主题

2029

帖子

9

粉丝