MSComm控件五种不同校验方式对数据收发的影响
来源:互联网 发布:什么是函数式编程 编辑:程序博客网 时间:2024/05/08 16:02
串口MSComm控件有五种校验方式,分别是无校验(None),奇校验(Odd),偶校验(Even),1校验(Mark),0校验(Space)。
在RS232/RS485/RS422通讯中,通过串口发送一字节(8BIT)数据时,首先发送起始位(固定为0),然后发送8位数据(先低位后高位),如果校验方式不是无校验(None),则紧接着会发送一位校验位,最后发送停止位。停止位固定为1。
停止位依据串口属性的设置可为1位,1.5位或2位。为了说明简洁起见,下面均假设停止位位数为1而数据位位数为8。
在数据发送时,如果校验方式设置为无校验(None),则不发送校验位;否则会发送一位校验位。
具体地,如果校验方式设置为1校验(Mark),校验位固定为1;如果校验方式设置为0校验(Space),校验位固定为0;如果校验位为奇校验(Odd),或者偶校验(Even),那么校验位可能为0也可能为1,依据所发送的数据计算得出。计算方法:如果是奇校验,那么8位数据和1位校验位的累加和必是奇数;对应的,如果是偶校验,8位数据和1位校验位的累加和必为偶数。比如,数据37,其二进制编码为00100101,编码中含有5个0和3个1,5*0+3*1=3,如果采用奇校验,那么校验位为0;如果使用偶校验,校验位则为1。
使用MSComm控件发送数据时,校验位无需用户干预,数据发送时自动地由操作系统计算、添加、发出。
串口MSComm控件在接收数据时,如果无校验,则只要检测到串口出现了数据,数据总能收到(试验发现,即使停止位为0也不会被认为是错误帧而遭遇抛弃);而采用了某种校验后,只有校验通码正确的数据才能被正确地收到。
原文地址:http://hi.baidu.com/wang_lu02/blog/item/79ad97fe29adda1808244d36.html
很基础的东西。
- 串口MSComm 控件五种不同校验方式对数据收发的影响
- MSComm控件五种不同校验方式对数据收发的影响
- 串口MSComm控件五种不同校验方式对数据收发的影响
- 串口MSComm控件五种不同校验方式对数据收发的影响
- 数据分布对访问方式的影响
- 不同javascript加载方式对页面性能的影响
- MSComm两种方式处理通信控件
- MSComm控件无法收到数据的解决办法
- Delphi+MSComm控件串口收发程序
- 数据校验的几种方式
- 数据校验的六种方式
- 几种常用的数据校验方式
- struts数据校验的两种方式
- MSCOMM控件的属性
- MSComm控件的属性
- MSComm控件的使用
- mscomm 控件的问题
- MSComm控件的使用方法
- lua相关链接
- Pure MVC的架构图
- Emacs 23.2 自带的Cedet的使用(如果自己下载cedet再安装可能会遇到一些麻烦)
- 11
- php java对比
- MSComm控件五种不同校验方式对数据收发的影响
- 闲话“短网址”服务
- CKEditor的使用
- sql的一些基础信息记录
- sql的一些基础信息记录
- 游标
- perl hash
- 棋盘覆盖V1.0
- with as 将查询出来的临时表联合查询