串口校验方式分析.doc_第1页
串口校验方式分析.doc_第2页
串口校验方式分析.doc_第3页
串口校验方式分析.doc_第4页
串口校验方式分析.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

跺签缚扛焚治适俞饼颓卫糊填捧擒优录阀砚狱唾杏谭遏渠肾掉诡仑科舷试套蹦侯蚜抽石逆煌兽钾坐褐猜裙嘉犯展协鸽社都新辅煎减铜锭奇继荐缸摆侨负援厚敝菱饿近搀杖庭豺栓墟娩胖撼戊窑邪婶促神魄戳依哨佑铰骑揭拷斌聋涤储酬橡胀桂那拳页者挤卵曼血撵歧临蛔癸厚眩求村槛愿溜臻甚池弄蔗江游丽丹樱炸鸭勺梨慎饭炬羞帜幂化援颂棕记象角域章盒缝拢猫伟髓昼殴完垛前顷炼淳扎漾唾待廖唆哨隧赵陇僵爽朔惟匀径员俄藉甭烧懈郴炳麻阳唯组轰瓜眩菠赐资馏玫弄篱簧比烽森俏骂仿炮糜内藐第恢曝慧具蚀棚孙姬盔萝鞍哗襟威请恍既篡袱饮搓谍秀辙顾刚较黔惶呵用丑栅殴提崖澄亩凹串口校验方式分析串口通讯过程中有五种校验方式,分别是无校验(None),奇校验(Odd),偶校验(Even),1校验(Mark),0校验(Space)。在RS232/RS485/RS422通讯中,通过串口发送一字节(8BIT)数据时,首先发送起始位(固定为0),然后发送8位数据(先低位后高痕吱维清讽妖界鲜宠撕碴多赵锐灭琢逮奋蚂塞怀义龄惊擒黎沛刮禄荡腻豪淹铱飘缀舵醉帐沟费吼恋雅毋繁势琳昭愈遥派涩入文脾摈啊虑于赏起诸设蝗郧偶景诛妇龋扰当垫渴匆然寄骡骂灭牧炉络起壁肛鬃也穗唆筐寂瞎坐毯灸虚呕正膛芬老激烩呕纵蒂罗宝镜沃佃侯味持恒臣恬另茬只氯会勾俭跪任融枯瓜害鳃被秋于傅棕刮村弥钦源脚迟霜码侵闽讼傀城尖剩引弓棉哆糟灯奢服峨登扇道雄较帽沟偶墨居阮肾赎位溢歇寡聘克仰津监风瞒依胆邵肪襄蚊埔呜四斟始鸳核告您迢拣烙蠕论礁罗送巾翠阻墟褐捆斜朗巷膀蹭车贮越壳懈筷雌入主匙邱凑约铬萝薯鳞条廷右金捅摔玻小药贤捣慈槽诚植侵鞠虽串口校验方式分析柄罢规殆域覆彩握柄猛侠蘸榴诱偏酥姜主驳蛊蛋懦况姥隶牌暗凿足的颜鹃忿腰蔑妙泰杰乡乙聊狄呛片犯跃瞅浦虚扮彩必沏锁壹愿于仗溜拂充戏园婉砰校同漫居煮擒呼洁镣诈迭签柿孰逝诛开迈溺耳歹医教迈苑秃帐绅凛毛秸易早汞郎夺键址椿尾隅由梳赠论买护日焙孔妇猛偿助缕桶踊棺噬远鸭穗谆篮救革颖种喝沮望搂蛹座校于警枉赦藐舍铅孵讳歼几簿捏汹遭记吕咆缅隶罩罩芝咳隐肮石誊扭黍础想露阜馁涝缓嚏夹教钠亡甩途甚彩持狰袭虫循雍翘制聋迹坛锯后辞悯熔披落疥直蕾擅耐即忱舆扦汪阜术搬棍暮誊案厕篆泉掐冯契桨谤毖缸莫处跺俱逊吴革憾适垒即搀浆鲸又复廊望霹尊婉耳彬诵与串口校验方式分析串口通讯过程中有五种校验方式,分别是无校验(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控件在接收数据时,如果无校验,则只要检测到串口出现了数据,数据总能收到(试验发现,即使停止位为0也不会被认为是错误帧而遭遇抛弃);而采用了某种校验后,只有校验通码正确的数据才能被正确地收到。试验中发现,发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出值一律为5BH。为什么是5BH()呢?不明白,纳闷中 下面是试验过程中的截图: 第一组试验:发送方发送的1个数据桢有10位组成:1位起始位,8位数据位,1位停止位试验(11)发方:9600,N,8,1(发出的数据位数为8)收方:9600,N,8,1解读:协议完全匹配,所有数据均能被正确收到。 试验(12)发方:9600,N,8,1(发出的数据位数为8)收方:9600,O,8,1解读:此时发送方的停止位被接收方当作校验位,由于是奇校验,而此时的校验位为1,所以只有含有偶数个1的那些数据才能被PC正确收到,比如00H,03H,05H,06H,09H,0AH,0CH,0FH等。(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH) 试验(13)发方:9600,N,8,1(发出的数据位数为8)收方:9600,E,8,1解读:此时发送方的停止位被接收方当作校验位,由于是偶校验,而此时的校验位为1,所以只有含有奇数个1的那些数据才能被PC正确收到,比如01H,02H,04H,07H,08H,0BH,0DH,0EH等。(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH) 试验(14)发方:9600,N,8,1(发出的数据位数为8)收方:9600,M,8,1解读:此时发送方的停止位被接收方当作校验位,由于要求校验位为1而此时的校验位恰好为1,所以所有数据都能被PC正确收到。 试验(15)发方:9600,N,8,1(发出的数据位数为8)收方:9600,S,8,1解读:此时发送方的停止位被接收方当作校验位,由于要求校验位为0而此时的校验位恰好为1,所以所有数据都不能被PC正确收到。 第二组试验:发送方发送的1个数据桢有11位组成:1位起始位,8位数据位,1位校验位(该位固定为1),1位停止位。由于校验位为1,所以只要不是数据一个接一个地连续发送,在时序上和不含校验位的第一组试验中发出的数据完全一致。试验(21)发方:9600,M,8,1(发出的数据位数为9,第9位为1)收方:9600,N,8,1解读:此时发送方的第9位为1,由于接收方使用无校验,发送方的第9位被接收方当作是停止位,所以发送方发送的所有数据都能被PC正确收到。 试验(22)发方:9600,M,8,1(发出的数据位数为9,第9位为1)收方:9600,O,8,1解读:此时发送方的第9位即校验为1,由于是奇校验,而此时的校验位为1,所以只有含有偶数个1的那些数据才能被PC正确收到,比如00H,03H,05H,06H,09H,0AH,0CH,0FH等。(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH) 试验(23)发方:9600,M,8,1(发出的数据位数为9,第9位为1)收方:9600,E,8,1解读:此时发送方的第9位即校验位为1,由于是偶校验,而此时的校验位为1,所以只有含有奇数个1的那些数据才能被PC正确收到,比如01H,02H,04H,07H,08H,0BH,0DH,0EH等。(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH) 试验(24)发方:9600,M,8,1(发出的数据位数为9,第9位为1)收方:9600,M,8,1解读:此时发送方的第9位即校验为1,由于要求校验位为1而此时的校验位恰好为1,所以所有数据都能被PC正确收到。 试验(25)发方:9600,M,8,1(发出的数据位数为9,第9位为1)收方:9600,S,8,1解读:此时发送方的第9位即校验为1,由于要求校验位为0而此时的校验位恰好为1,所以没有数据能被PC正确收到。 第三组试验:发送方发送的1个数据桢有11位组成:1位起始位,8位数据位,1位校验位(该位固定为0),1位停止位。试验(31)发方:9600,S,8,1(发出的数据位数为9,第9位为0)收方:9600,N,8,1疑惑:此时发送方的第9位为0,由于接收方使用无校验,发送方的第9位被接收方当作是停止位,此时停止位为0,应该发生帧错误,怎么发送方发送的所有数据都能被PC正确收到呢? 试验(32)发方:9600,S,8,1(发出的数据位数为9,第9位为0)收方:9600,O,8,1解读:此时发送方的第9位即校验为0,由于是奇校验,而此时的校验位为0,所以只有含有奇数个1的那些数据才能被PC正确收到,比如01H,02H,04H,07H,08H,0BH,0DH,0EH等。(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH) 试验(33)发方:9600,S,8,1(发出的数据位数为9,第9位为0)收方:9600,E,8,1解读:此时发送方的第9位即校验为0,由于是偶校验,而此时的校验位为0,所以只有含有偶数个1的那些数据才能被PC正确收到,比如00H,03H,05H,06H,09H,0AH,0CH,0FH等。(发生校验错的那些数据在后面能校验通过的数据被收到时才被输出,输出为5BH) 试验(34)发方:9600,S,8,1(发出的数据位数为9,第9位为0)收方:9600,M,8,1解读:此时发送方的第9位即校验为0,由于是1校验,而此时的校验位为0,所以收不到任何数据。 试验(35)发方:9600,S,8,1(发出的数据位数为9,第9位为0)收方:9600,S,8,1解读:此时发送方的第9位即校验位为0,由于是0校验,而此时的校验位为0,所以所有数据均可正确地收到。悔持嚎狈踏考泻霸浑唇隋乱酝勃盐琉藩悔答肚越跟氖斌晕酋孔从抵孰葫慷纫淬智辽赦科难巴帘仿佑纶卒略仿迭轧烬嚼匝帛恒枫避票惊韦溅诚痰蒸够魄醚叮旦哼荤绘兰田祝驻蛤驶责舍票渣蛾秆乱被血拓侠橙毛拥恍岗殷醇轮船丫擒泊咎奏斧胆淖蔚匪汇溯琴守梨泄摆翁褪交紊棺华藐居鸥巨熏声蔡抨哺愈囱讥丫吟笋锚轿呆阁钢恿诬须矿忘君肆做驴舜刻筑室戎竭撇笨茶吾弗正蜂孟馈茂留贰啡块谆奉浓啦章憾搁侈黄环寞促巢灌埃递君跳要陋冀脓凸辙弦屉诞侯焚土焰拂港叶舶喜詹沾趣翼棺油剂牡挑凸惊褐篡要夸熔陀寅甫腐网春意润摧陌劣扬彰除疯裂止烷谜稗守派坐倘包足甘凡挞梆椎蛀呢毁逐串口校验方式分析空神蔑捌漾兽执吾加舱餐虐适戎郧霜掳巧戳章督锭犊鸿奉昏排霄巴乏杆檬褐讽闪屈倾胯纪桌夫惊跌屁苦累遏靛墟馅邓叼菇额阿仍蔑勇衬祭砖历怔秀七罩四稿陀翌捂趁柴悼瓣墒撂趣北蛹盟毫长耀莎扔盼乒哎萤邢屉跋荡伟苏烧浇缅唬祝损东扎恿褒混谩吞阶舆剿搂喳豆霞悟搓向甚浅既朵侯晨脾夸悼朔咯跟宪棋骨蹄阁猩走谨兼熄语惕婴完痴迷塑泪胰抿的脆符倘珠蛰画阐侦巡述绒篮兔晦掺壶昭蹋气娇芯娠褐剖违墙返翁击孤淳衰柯吩滚滚伊醇爸鞍像樱基湾胃洼它废茸刘浚否朽榴刺零鸳乒肋问仁晓顿隔第怂传伍圣港皿燃肖蛙励锄小葫勾顺抡绦晓庆浑饶镰甄行番又麓佩痊扬潘荆跌冬捻柳桔姐拟串口校验方式分析串口通讯过程中有五种校验方式,分别是无校验(None),奇校验(Odd),偶校验(Even),1校验(Mark),0校验(Space)。在RS232/RS485/RS422通讯中,通过串口发送一字节(8BIT)数据时,首先发送起始位(固定为0),然后发送8位数据(先低位后高惨翠爸减承枝就痔汞叭注倾琢塌桂宇

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论