菜鸟请教串口问题

274960319   2009-6-23 17:02 楼主

1 为什么串口还有根地线,地线没有接地,地线是干什么的那?

2 串口中的停止位的问题

  停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

  这里我不明白,觉得停止位应给是1位(1或者0)或者是2位(00,01,10,11等),为什么典型值还有1.5?

回复评论 (5)

很好的问题。 串口是以字符为单位传送的。


1. 地线的目的就是为了通讯双方的电平能有一个相同的基准, 电平其实是电位差,
也就是说相比较的基准要统一,这样通讯双方看到的逻辑才是一致的。

2. 串口由于是异步的工作方式,通讯双方需要有各自的时钟基准, 所以两端的波特率要配置一致。
串口并不是一个时钟传送一个位 (bit),而是N(N=16或64)个时钟才传送一个bit。
当N=16时,一般会在中间位置(第8个clock)采集信号线RX上的数据,这样就避免了上升下降不稳定状态,保证数据正确。
为什么会有1.5个停止位,到此应该明白了吧。这就相当于停止位:1.5 * 16 = 12clocks.   
点赞  2009-6-23 18:47
第2个回答不敢苟同,
串口是一个时钟传一个位的,
1.5个停止位只是为了让对方多一点时间处理接到的一个字节数据而已.

一家之言,楼上勿怪!
点赞  2009-6-24 15:22
1,如果没有地线就没有参考,这是不可能的。
2,0。5相当于延世0。5个bit周期。
点赞  2009-6-24 15:38
恩,1.5位只是延长了停止位的电平信号(高电平),延长到1.5个时钟周期
点赞  2009-6-25 16:40
引用: 引用 2 楼 df4040 的回复:
第2个回答不敢苟同,
串口是一个时钟传一个位的,
1.5个停止位只是为了让对方多一点时间处理接到的一个字节数据而已.

一家之言,楼上勿怪!


呵呵, 我没有说1/1.5/2个停止位的作用, 只是讲为什么会有1.5个停止位。
点赞  2009-6-25 19:58
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复