1楼:水中鱼
没听说过起始位,只有数据位、停止位,校验位这三项是可变的通讯参数,这三项通讯参数与串口通讯有关,与modbus无关,只要通讯的双方设置一致即可。
2楼:绿地蓝天白云
你想怎么改 停止位可以改。这个要根据下面设备情况而定。
modbus rtu通讯协议中每字节有1个起始位,8个数据位, 1个奇偶校验位,1个停止位,这样一字节就有11位,
3楼:匿名用户
数据是8位没来错,11位是串行通源讯的协议规bai定,用11个位的时间du传送8位,多出zhi的3位是协议开销。dao
就像你开车拉8吨的货物,但车子本身还是有自重,加起来一车货共有11吨,但只拉了8吨,11位是毛重,8位是净重,呵呵,开玩笑的。
算时间的话,应该按照11位算,但计算数据的通讯量的时候,则按8位算,或者通常都说1个字节。
前面讲的协议开销是232协议的开销,另外,modbus协议也是有开销的,比如地址域、校验域,都需要额外的时间进行传输。
4楼:ask菜
根据异步串行通信原理,每7/8/9个bit数据,需要增加起始位、奇偶校验位和一到两个停止
专位,比如只用属uart通信
(不采用上层协议),那么发送7/8/9个数据位时,硬件自动在数据位之前填上一个起始位,在数据之后填上奇偶校验位(可以配置为没有)和停止位。接收方的uart收到之后,硬件自动校验,并将数据剥离。
modbus的rtu模式采用了8bit异步串行通信模式,加上其它位有11bit,串口自动处理这些附加位,本质上收发双方都不会看到这些位。
有一种特殊情况,就是你的串口是用i/o模拟的,而不是通过ic或mcu自带串口配置而成的,那就需要字节添加、剥离和处理奇偶校验等工作
email me
5楼:1丝冷风
发送方来
的uart把1字节(8位)并行源数据转换为11位的串行数据,接收方的uart再把11位的串行数据转换为1字节(8位)并行数据。消息帧中有多个字节,就需要多次转换—传输—还原的过程,当然每个字节都是8位的。
6楼:丁云龙文库
是不是叫字符更准确,一个字符包含11个位
串行通信的数据位,起始位,停止位?
7楼:匿名用户
这是你自己定义的通信协议,起始位一般用作通信同步,也就是你判断发送或接收帧的起始位相同后,这一帧视为有效帧,然后就是你的数据,停止位可以有也可以没有。
8楼:匿名用户
单片机串bai口通信一般是11位,
du起始位1bit,数据位8bit,校验zhi位1bit,
停止位1bit,串口
9楼:匿名用户
其实这个会用就行了,一般的设计没有必要搞得十分清楚.