版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第3章:打包解包小工具设计实验卓越工程师培养系列2目录《医学数字信号处理实验教程—基于MATLAB》-配套讲义1.实验内容2.实验原理3.实验步骤4.本章任务5.本章习题31.实验内容
学习PCT通信协议,以及MATLAB中的部分控件,如触控按钮(PushButton)、静态文本(StaticText)、可编辑文本(EditText)和面板(Panel)。然后,设计一个打包解包小工具,可以根据用户输入的模块ID、二级ID以及6字节数据,通过“打包”按钮实现打包操作,并将打包结果显示到打包结果显示区,同时,还可以根据用户输入的10字节待解包数据,通过“解包”按钮实现解包操作,并将解包结果显示到解包结果显示区。《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义42.实验原理2.1PCT通信协议2.2控件及其属性2.3本章使用到的控件2.4控件的回调函数《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义52.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
主机与从机之间的打包解包通信过程如图3‑2所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义62.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(1)PCT通信协议格式 PCT通信协议规定:
①数据包由1字节模块ID+1字节数据头+1字节二级ID+6字节数据+1字节校验和构成,共计10个字节。
②数据包中有6个数据,每个数据为1字节。
③模块ID的最高位bit7固定为0。
④模块ID的取值范围为0x00~0x7F,最多128种类型。
⑤数据头的最高位bit7固定为1,数据头的低7位按照从最低位到最高位顺序,依次存放二级ID的最高位bit7、数据1的最高位bit7、数据2的最高位bit7、数据3的最高位bit7、数据4的最高位bit7、数据5的最高位bit7和数据6的最高位bit7。《医学数字信号处理实验教程—基于MATLAB》-配套讲义72.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(1)PCT通信协议格式
⑥二级ID、数据1、数据2、…、数据6的最高位bit7存放于数据头。校验和的低7位为模块ID+数据头+二级ID+数据1+数据2+…+数据6求和的结果(取低7位)。
⑦二级ID、数据1、数据2、…、数据6和校验和的最高位bit7固定为1。《医学数字信号处理实验教程—基于MATLAB》-配套讲义82.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(2)PCT通信协议打包过程 PCT通信协议的打包过程分为4步。第1步,准备原始数据,原始数据由模块ID(0x00~0x7F)、二级ID、数据1、数据2、…、数据6组成,如图3‑4所示。其中,模块ID的取值范围为0x00~0x7F,二级ID和数据的取值范围为0x00~0xFF。《医学数字信号处理实验教程—基于MATLAB》-配套讲义92.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(2)PCT通信协议打包过程
第2步,依次取出二级ID、数据1、数据2、…、数据6的最高位bit7,将其存放于数据头的低7位,按照从最低位到最高位的顺序依次存放二级ID、数据1、数据2、…、数据6的最高位bit7,如图3‑5所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义102.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(2)PCT通信协议打包过程
第3步,对模块ID、数据头、二级ID、数据1、数据2、…、数据6的低7位求和,取求和结果的低7位,将其存放于校验和的低7位,如图3‑6所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义112.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(2)PCT通信协议打包过程
第4步,将数据头、二级ID、数据1、数据2、…、数据6和校验和的最高位置1,如图3‑7所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义122.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(3)PCT通信协议解包过程
PCT通信协议的解包过程也分为4步。第1步,准备解包前的数据包,原始数据包由模块ID、数据头、二级ID、数据1、数据2、…、数据6组成,如图3‑8所示。其中,模块ID的最高位为0,其余字节的最高位均为1。《医学数字信号处理实验教程—基于MATLAB》-配套讲义132.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(3)PCT通信协议解包过程
第2步,对模块ID、数据头、二级ID、数据1、数据2、…、数据6的最低7位求和,如图3‑9所示,取求和结果的低7位与数据包的校验和低7位对比,如果两个值的结果相等,则说明校验正确。《医学数字信号处理实验教程—基于MATLAB》-配套讲义142.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(3)PCT通信协议解包过程
第3步,数据头的最低位bit0与二级ID的低7位拼接之后作为最终的二级ID,数据头的bit1与数据1的低7位拼接之后作为最终的数据1,数据头的bit2与数据2的低7位拼接之后作为最终的数据2,以此类推,如图3‑10所示。《医学数字信号处理实验教程—基于MATLAB》-配套讲义152.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(3)PCT通信协议解包过程
第4步,图3‑11所示即为解包之后的结果,由模块ID、二级ID、数据1、数据2、…、数据6组成。其中,模块ID的取值范围为0x00~0x7F,二级ID和数据的取值范围为0x00~0xFF。《医学数字信号处理实验教程—基于MATLAB》-配套讲义162.1PCT通信协议《现代医学电子仪器原理与设计实验教程》-配套讲义
(4)PCT通信协议实现
PCT通信协议既可以使用面向过程语言(如C语言)实现,也可以使用面向对象语言(如C++或C#语言)实现,还可以用硬件描述语言(VerilogHDL或VHDL)实现。当然,也可以使用类似于MATLAB的脚本语言,本章将PackUnpack模块分为Pack和Unpack两个模块,具体实现可以参见3.3.6节。《医学数字信号处理实验教程—基于MATLAB》-配套讲义172.2控件及其属性《现代医学电子仪器原理与设计实验教程》-配套讲义
MATLABGUI是由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。MATLAB中常用的控件如书中的表3‑1所示。
每一个控件都不可能完全符合界面设计的要求,因此,用户需要对其属性进行设置,以获得所需的界面显示效果,比如,调整触控按钮的字体和尺寸。如何设置控件的属性?在GUI设计界面的工具栏中,单击属性检查器图标
,在弹出的属性检查器中就可以设置控件的各属性值。《医学数字信号处理实验教程—基于MATLAB》-配套讲义182.3本章使用到的控件《现代医学电子仪器原理与设计实验教程》-配套讲义
打包解包小工具主要使用到四种控件,分别是触控按钮(PushButton)、可编辑文本(EditText)、静态文本(StaticText)和面板(Panel)。《医学数字信号处理实验教程—基于MATLAB》-配套讲义192.4控件的回调函数《现代医学电子仪器原理与设计实验教程》-配套讲义
用户对控件进行操作(如鼠标单击、双击、移动,键盘输入等)的时候,控件对该操作进行响应,所指定执行的函数,就是该控件的回调函数,也称Callback函数。该函数不会主动执行,只在用户对控件执行特定操作的时候执行。GUI的设计有两种方法:(1)使用函数编写GUI;(2)使用Guide工具箱创建GUI。在本书中,主要使用Guide工具箱创建GUI,即在命令行通过输入guide命令,调出GUI设计界面,然后进行GUI设计。《医学数字信号处理实验教程—基于MATLAB》-配套讲义203.实验步骤3.1步骤1:MATLAB软件标准化设置3.2步骤2∶新建存放所有工程的文件夹3.3步骤3∶新建打包解包小工具工程文件夹3.4步骤4:打开GUI界面3.5步骤5:打包解包小工具GUI界面设计3.6步骤6:打包解包小工具程序设计3.7步骤7∶验证打包解包小工具《现代医学电子仪器原理与设计实验教程》-套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义214.本章任务
本章的打包解包小工具功能有限,比如,“输入裸数据区”文本框输入的数据必须是6个字节,否则,单击“打包”按钮,会出错,这种情况同样存在于“输入待解包数据”文本框、“模块ID”文本框和“二级ID”文本框。尝试解决这些问题,当这些文本框的输入不是要求的字节数或为空时,弹出提示窗,允许用户重新输入。《现代医学电子仪器原理与设计实验教程》-配套讲义《医学数字信号处理实验教程—基于MATLAB》-配套讲义225.本章习题 1.根据PCT通信协议,模块ID最多有多少种?二级ID最多有多少种? 2.根据PCT通信协议,为什么打包之后的数据包中的二级ID最高位为1? 3.本实验中的,如何通过属性检查器将“解包”按钮的字体设置为大小10? 4.本实验中的,“打包”按钮的回调函数pushbutton_pack_Callback有三个参数,第一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华润三九内部制度
- 幼儿园发展规划
- 2026年医院采购岗招聘经典试题及答案
- 肠内外营养并发症
- 脑卒中病发作征兆解读及护理要点
- 青年领袖训练营
- 慢阻肺上肢训练
- 巩膜炎症状解析及护理指南
- 常州市教师招聘考试题库及答案
- 亳州市专职消防员招聘笔试题及答案
- 山东省济南市2025-2026学年高一年级下学期期中检测物理试题(含答案)
- 2026年北京市大兴区初三一模物理试卷(含答案)
- 天然气工程质量监理工作总结
- 2025年福建三明市初二地生会考试题题库(答案+解析)
- 2026年高考考前预测卷-语文(全国一卷03)(全解全析)
- 《医学人文素养融入课程建设指南(试行)》
- 2026年湖南事业单位招聘笔试题目及答案
- 国开2026年春季《形势与政策》大作业答案
- 陕北民歌课件
- 郑州生物会考试题及答案
- DBJ15-22-2021-T 锤击式预应力混凝土管桩工程技术规程(广东省)
评论
0/150
提交评论