机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3944|回复: 6
打印 上一主题 下一主题

关于串口通信的若干问题

[复制链接]
跳转到指定楼层
1#
发表于 2014-8-7 11:24:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
背景:串口通信的格式由起始位(1位,为0),数据位(5到8位),校验位(1位,奇偶校验),停止位(1位或2位,为1)构成。" k0 i* i- Z, d  E& d7 \

" J; u' J: H; f3 }3 s" G问题1:在串口通信中,数据位中会出现0或1,那是如何判断起始位和停止位的(起始位为0,停止位位1)?即如何判断数据开始传输或者停止。$ @, ^: A% O( D" @8 `  P
问题2:在PLC通信中,数据位可以选择7位或者8位,那个数据位的选择是不是随意的?
1 V  Z3 t( q$ \* q问题3:在PLC通信中,停止位可以选择1位或者2位,那个停止位的选择是不是随意的?
8 e* ]% T! F/ m3 B
+ b7 p! F: ]3 M2 Q
提出以上问题的哲学背景:存在就有一定的道理,在使用串口通信时,数据位和停止位该如何选择呢?随意的吗?
8 k/ a, h  [8 {& i% A
回复

使用道具 举报

2#
发表于 2014-8-7 12:20:52 | 只看该作者
拉低数据(也就是写0)表示有数据开始要传了,讲白了就是告诉接收方我要发信息了,要传多少位,比如8位,这就是为什么要设置数据位的原因了,传了8位之后拉高(写1)表示空闲状态,以便进行下一次通信开始的判断。在传信过程中,,也就是数据位小于8的情况,,无论是0还是1都是不会终止通信的。一般情况下,,只要收发端设置成一样就可以,,至于数据位8位吧
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2014-8-7 12:23:43 | 只看该作者
志文168 发表于 2014-8-7 12:20 6 @# q, _6 b9 T+ |# T6 v. C8 ~
拉低数据(也就是写0)表示有数据开始要传了,讲白了就是告诉接收方我要发信息了,要传多少位,比如8位,这 ...
. v' a: @. L1 l4 a6 O2 q
那我在数据传送过程中,如何判断0是起始位还是数据位?
- L0 T9 s, A0 m+ Q- x' ?
回复 支持 反对

使用道具 举报

4#
发表于 2014-8-7 12:30:16 | 只看该作者
所以就有在上一次通信完毕之后将数据线拉高了,只仔细看一下串口通信的时序图吧,,可以加深理解
回复 支持 反对

使用道具 举报

5#
发表于 2014-8-7 12:31:53 | 只看该作者
如果你只是用的话也不用去研究,,直接设好就可以了,,PLC通信还是比较好弄的
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-8-7 12:39:45 | 只看该作者
志文168 发表于 2014-8-7 12:31
6 J4 z; w/ ~2 ]' F$ g如果你只是用的话也不用去研究,,直接设好就可以了,,PLC通信还是比较好弄的

. R, f, f# a% ~# _9 V恩,我太会钻牛角尖了。比如,我会纠结停止位选择2位好,还是选择1位好,它们对传输有什么影响?停止位选择1位,会不会传输的快一点。
6 V8 y7 n$ s) @8 ^
回复 支持 反对

使用道具 举报

7#
发表于 2014-8-7 13:12:09 | 只看该作者
快慢这个不用担心,,影响可不计,,,主要是解决干扰问题和通信稳定性,,试试不就知道了么,不用纠结呀,,搞机械的搞电子的都一样,,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-12-26 00:00 , Processed in 0.052501 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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