当前位置: 首页 » 新闻中心 » 科技概览 » 正文

    MSComm控件五种不同校验方式对数据收发的影响

    放大字体  缩小字体 发布日期:2014-01-15  浏览次数:10871
    核心提示:串口MSComm控件有五种校验方式,分别是无校验(None),奇校验(Odd),偶校验(Even),1校验(Mark),0校验(Space)。在RS23
     串口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也不会被认为是错误帧而遭遇抛弃);而采用了某种校验后,只有校验通码正确的数据才能被正确地收到。

     
     
    [ 新闻中心搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

     
    0条 [查看全部]  相关评论

     
    推荐图文
    推荐新闻中心
    点击排行