单片机应用开发 串行口应用 6-2-2 基于RS485通信协议二.pptVIP

单片机应用开发 串行口应用 6-2-2 基于RS485通信协议二.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Application and Development of Microcontroller 《单片机应用开发》课程 主讲教师 刘德新 移动通信技术专业教学资源库 深圳信息职业技术学院电子与通信学院 基于RS485的 通信协议 ( 二) 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 通信协议的格式 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 通信头占1~8个字节,表示本次通信的开始,可以使用除00H和FFH以外的十六进制代码作为通信头,例如:用2个字节5AH,A5H作为通信头。 巴克码占1个字节,且一般固定为72H。因为通信头的长度有时不确定时,可以用此字节表示通信头的结束,若通信头的长度固定时,则可以考虑不用此码。 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 地址字占1个字节,表示主机利用RS485电平连接的各终端的地址。其中各终端的地址不能相同,只有终端接收到地址是本机地址码时,主机发来的命令本终端机才根据相应的命令来处理。因为地址字占1个字节,所以主机连接的终端最多可达256个,但一般将00H和FFH作为广播地址。 命令字占1个字节,表示主机发给各终端机的命令,各命令的含义一般代表一定的意义。 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 长度字占1个字节,表示接收信息的长度,本协议各条命令的长度是不等长的,具体长度由此字来确定,但最长不能超过252字节。长度字的长度是从地址字开始到信息字结束之间所有字节的字节数。 信息字占的字节数不确定,一般根据相应的命令来确定,但每帧信息位的字节数不超过252个字节,信息字根据不同的命令也可以一个字节都没有。 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 校验码占2个字节,校验码的字节是从地址字开始,到信息字结束之间所有字节的字节数。校验可以采用最简单的和校验,也可以采用较为先进的CRC校验。其中和校验的一个字节是从地址字开始,到信息字结束之间所有字节的不进位的和,另一个字节则是第一个字节的反码,CRC校验有专门书籍介绍。 结束码占1个字节,通常用一个字节来表示通信的结束。此码在有长度字的情况下可以考虑不用。 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 5AH,A5H是作为通信头,当接收方收到此头时表示通信的开始;72H是巴克码表示通信头的结束;01H是表示一号终端将接收此命令;02H表示是对一号终端发送的2号命令,具体是什么命令,必须在通信前约定好;03H是长度字,因为没有信息字,所以长度就是03H,本命令无信息字;校验采用和校验方式,01H+02H+03H=06H,就是和校验的第一个字节,另一个字节是将06H按位取反为F9H 。 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 接收方接收到命令后,应该根据不同命令对发送方进行应答。接收方应答方式有两种,一是接收正确应答ACK,一是接收错误应答NAK 。 ACK的格式: NAK的格式: 通信协议 EDITED BY LIU DEXIN * 单片机应用开发 当发送方收到ACK时,表示此次通信成功,可以发送新的命令。当发送方收到NAK时,表示此次发送失败,这是要求重新发送刚才的命令,在发送方重新发送后,若接收方仍然应答NAK,则继续发送。若有一次发送方接收到ACK,则表示通信成功,就可以发送新的命令。若一致应答NAK,则发送方最多发7次,并提示错误信息。 若发送方发送完数据后无任何应答,例如通信故障中的通信线断开等现象发生时,此时发送方进一步发送,但最多7次,7次后都无应答,则给出错误提示。 发送方的命令若是要求接收方传送数据,则接收方接收到此命令后,将应该传送的数据打包并传送。因为数据格式的限制,有可能一包数据传送不完,此时需多包传送。多包传送时,在信息字的第一个字节为包数,当包数为FFH时,表示是最后一包。当原发送方接收到数据包后,应该根据接收的正确与否,应答ACK或者是NAK。 小结与思考 EDITED BY LIU DEXIIN * 单片机应用开发 RS485的通信协议格式是什么? 假设对交通灯的时间远程控制,怎样设置相应的通信协议来控制交通灯时间的设置? 谢 谢 主讲教师 刘德新 移动通信技术专业教学资源库 深圳信息职业技术学院电子与通信学院

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档