C语言程序设计与应用 - 讲义 - 第14章-模拟从机命令接收与数据发送_第1页
C语言程序设计与应用 - 讲义 - 第14章-模拟从机命令接收与数据发送_第2页
C语言程序设计与应用 - 讲义 - 第14章-模拟从机命令接收与数据发送_第3页
C语言程序设计与应用 - 讲义 - 第14章-模拟从机命令接收与数据发送_第4页
C语言程序设计与应用 - 讲义 - 第14章-模拟从机命令接收与数据发送_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1第14章:模拟从机命令接收与数据发送——卓越工程师培养系列——2目录《C语言程序设计与应用》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题3

使用第12章中的PTC通信协议,模拟从机命令接收和数据发送,如图14‑1所示。这里可以将主机假设为计算机,计算机用于发送命令和接收数据,并将接收到的数据通过屏幕显示出来;将从机假设为单片机,单片机用于接收计算机发送的命令,当接收到生成正弦波(wave1)命令时,向计算机发送正弦波数据,当接收到生成方波(wave2)命令时,向计算机发送方波数据。《C语言程序设计与应用》-配套讲义1.实验内容4

模拟从机命令接收和数据发送的具体流程如下图所示:《C语言程序设计与应用》-配套讲义1.实验内容5

为了简化实验,wave1模块波形数据固定为0x11,即wave2模块波形数据固定为0x22,如下图所示:《C语言程序设计与应用》-配套讲义1.实验内容62.1wave1和wave2模块命令包和数据包wave1模块生成wave1命令包格式如下:wave2模块生成wave2命令包格式如下:《C语言程序设计与应用》-配套讲义2.实验原理7

wave1模块波形数据包格式如下:wave2模块波形数据包格式如下:《C语言程序设计与应用》-配套讲义2.实验原理82.2新增wave1和wave2模块通信协议

添加模块ID如下所示://枚举定义,定义模块ID,0x00-0x7F,不可以重复typedefenum{MODULE_SYS=0x01,//系统信息

MODULE_WAVE1=0x70,//波形1信息MODULE_WAVE2=0x71,//波形2信息MAX_MODULE_ID=0x80}EnumPackID;《C语言程序设计与应用》-配套讲义2.实验原理9

添加二级ID如下所示://wave1模块的二级IDtypedefenum{DAT_WAVE1_WDATA=0x02,//波形1的波形数据

CMD_GEN_WAVE1=0x80,//生成波形1命令}EnumWave1SecondID;

//wave2模块的二级IDtypedefenum{DAT_WAVE2_WDATA=0x02,//波形2的波形数据

CMD_GEN_WAVE2=0x80,//生成波形2命令}EnumWave2SecondID;《C语言程序设计与应用》-配套讲义2.实验原理102.3从机命令接收流程说明《C语言程序设计与应用》-配套讲义2.实验原理112.4从机数据发送流程说明

《C语言程序设计与应用》-配套讲义2.实验原理12《C语言程序设计与应用》-配套讲义3.实验步骤3.1复制Material中的文件夹到CProgramTest文件夹中3.2打开Project文件夹中的Project.sln文件3.3完善ProcHostCmd.h/.c文件3.4完善SendDataToHost.h/.c文件3.5完善App.c文件3.6项目编译和运行13《C语言程序设计与应用》-配套讲义4.本章任务

根据附录B,无创血压模块ID为0x14(MODULE_NIBP),无创血压查询测量结果命令包的二级ID为0x89(CMD_NIBP_RSLT)。主机向从机发送无创血压查询测量结果命令包之后,从机应向主机发送一个命令应答数据包,命令应答数据包属于系统模块,系统模块的模块ID为0x01(MODULE_SYS),命令应答数据包的二级ID为0x04(DAT_CMD_ACK),发送完命令应答数据包之后,从机再向主机发送二级ID为0x04的无创血压测量结果1数据包(DAT_NIBP_RSLT1)和二级ID为0x05的无创血压测量结果2数据包(DAT_NIBP_RSLT2),无创血压测量结果1数据包包含了收缩压、舒张压和平均压,无创血压测量结果2数据包包含了脉率,在发送测量结果的时候,假设收缩压、舒张压和平均压分别为120mmHg、80mmHg、93mmHg,脉率为60bpm。

参照本章实验,主机每5秒发送一次无创血压查询测量结果命令包,从机在接收到无创血压查询测量结果命令包时,向主机发送命令应答数据包,同时向主机发送无创血压测量结果1数据包和无创血压测量结果2数据包。发送命令应答数据包、无创血压测量结果1和2数据包是通过printf函数打印的方式。14《C语言程序设计与应用》-配套讲义5.本章习题(1)简述命令从主机到从机的通信过程。

(2)简述数据从从机到主机的通信过程。

(3)本章实验中的ProcHostCmd模块都

温馨提示

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

评论

0/150

提交评论