单片机与PC机通信协议(RS232).docVIP

  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文档。上传文档
查看更多
帧格式如下: 功能号 [FD] 数据长度 [LB] 数据1 [DS] … 数据n [DS] 校验和 [CS] 其中LB、DS在命令帧和应答帧中无。 差错控制与校验采用纵向冗余校验(LRC)。 发送方校验和生成方法: 将FD、LB、DS域逐个字节相加求和,在求和过程中舍弃进位,最后将所得的和(单个字节)取补码作为检验和(CS)。 生成校验和的函数为: static unsigned char LRC(auchMsg,usDataLen) /* 函数返回 unsigned char 类型的 LRC 结果*/ unsigned char *auchMsg ; /* 要计算 LRC 的报文*/ unsigned short usDataLen ; /* 报文的字节数 */ { unsigned char uchLRC = 0 ; /* LRC 初始化 */ while (usDataLen--) /* 完成整个报文缓冲区 */ uchLRC += *auchMsg++ ; /* 缓冲区字节相加,无进位 */ return ((unsigned char)(-((char)uchLRC))) ; /* 返回二进制补码 */ } 接收方校验方法: 将所有接收到的数据,即FD、LB、DS、CS等域逐个字节相加求和,在求和过程中舍弃进位,若结果为零(低字节)则传输无错,否则出错。 应答: 接收方对接收数据进行校验后,若无错则向发送方发送传输无错应答帧,若有错则向发送方发送传输出错应答帧。 所需通信数据分为:数据帧、命令帧、应答帧 上行数据:下位机(单片机)向上位机(PC机)传送数据 ⑴ 初始化上位机(IPC):FD=0x01 (InitPC) 单片机将电梯模拟器的参数发送至PC机,初始化PC机端的可视化程序。PC机上的可视化程序完成初始化后,应向单片机发送初始化完毕命令。 帧格式: 功能号 IPC 数据长度 [LB] 数据 [DS] 校验和 [CS] 其中数据域格式如下: 参数号1 参数1 …… 参数号n 参数n ⑵ 发送模拟器状态信息:FD=0x02 (SendMsgToPC) 包括:轿厢位置,轿厢状态——上行/下行/停止,轿厢运行速度 帧格式: 功能号 [FD] 数据长度 [LB] 轿厢位置 低字节 轿厢位置 高字节 轿厢状态 轿厢行速 校验和 [CS] 其中轿厢状态: 上行——0x05 下行——0x0A 停止——0x00 ⑶开门命令:FD=0x03 帧格式: 功能号 [FD] 校验和 [CS] ⑷开门到位命令:FD=0x04 帧格式: 功能号 [FD] 校验和 [CS] ⑸关门命令:FD=0x05 帧格式: 功能号 [FD] 校验和 [CS] ⑹关门到位命令:FD=0x06 帧格式: 功能号 [FD] 校验和 [CS] ⑺询问上位机是否准备好:FD=0x07 (IfPCReady) 帧格式: 功能号 [FD] 校验和 [CS] 下行数据:上位机(PC机)向下位机(单片机)传送数据 ⑴上位机准备好:FD=0x11 帧格式: 功能号 [FD] 校验和 [CS] ⑵初始化完毕:FD=0x12 (PCInitFinish) 帧格式: 功能号 [FD] 校验和 [CS] ⑶修改模拟器参数:FD=0x13 (AlterPara) 帧格式: 功能号 [FD] 校验和 [CS] ⑷完成修改模拟器参数:FD=0x14 (FinishAlterPara) 帧格式: 功能号 [FD] 校验和 [CS] ⑸下送模拟器参数:FD=0x15 (SendParaToMCU) 帧格式: 功能号 [FD] 数据长度 [LB] 数据 [DS] 校验和 [CS] 其中数据域格式如下: 参数号1 参数1 …… 参数号n 参数n 应答帧: ⑴接收到的数据无错:FD=0xF1 帧格式: 功能号 [FD] 校验和 [CS] ⑵接收到的数据出错:FD=0xF2 帧格式: 功能号 [FD] 校验和 [CS] 模拟器运行流程图 修改模拟器参数流程图 ?模拟器参数定义 //参数号定义 #define ID_Total_Floors 1 #define ID_Special_Floor_A 3 #define ID_Special_Floor_B 5 #define ID_ID_Observe_Para 7 #define ID_Dist_Bottom_Limit_Location 10 #define

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档