- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三种方法总结 从流程上,三种方法都是简单的线性结构,配置?打开串口? 读写?关闭 CSerialPort最大的优势在于开源 MSComm较完善 Windows API用起来较麻烦 * 模块举例 以某公司的血氧检测模块为例 * 模块举例 基本数据格式 1位起始位+8位数据位+1位奇偶校验位 控制命令 A: 调整血氧的体积描记图偏移 B: 设置血氧饱和度为4次平均,脉率为8秒钟平均 C: 设置血氧饱和度为8次平均,脉率为8秒钟平均 D: 设置血氧饱和度为16次平均,脉率为16次平均 E: 要求模块发送版本号 * 模块举例 上传数据格式 6个Bytes一个包,每秒钟60个包,每一个Bytes的第7位都为同步位 Byte 1:0-3 信号强度 4 1表示搜索时间太长 5 1表示血氧饱和度下降 6 1脉搏指示音 7 1 Byte 2:0-6 体积描记图 7 0 Byte 3:0-3 棒图 4 1表示导联错误 5 1表示搜索脉搏 6 脉率的第8位 7 0 * 模块举例 续 Byte 4:0-6 脉率前7位 7 0 Byte 5:0-6 血氧饱和度 7 0 Byte 6:0-6 前5个Bytes的校验和 7 0 该模块接电后就持续不断的发送数据,而主机端已开启串口就可以不断获得数据 * s=serial(COM7,BaudRate,4800); fopen(s); sig = fread(s,3600,’unchar’); fclose(s); * 如何确定包的第一个Byte 每个包中,仅有第一个Byte的第7位为1,其它Byte的同步位都为0——仅第一个Byte大于128 * 127 127 41 147 55 96 127 127 40 147 55 96 127 127 40 147 55 96 127 127 40 147 54 96 127 本段提示 各类接口 串口 并口 串口编程 CSerialPort MSComm Windows API 例子 一种非常简单的协议 * 另一个例子:指令集 另一个例子:指令集 另一个例子:指令集 关于作业的一些要求:关于程序 自定义函数的命名 自定义变量的命名 注释 自定义的过程/函数/模块尽量在开头和结尾用注释包裹起来,注明创建时间、创建人、修改的时间和内容、修改人,模块功能等 重要语句的注释 除循环变量之外,所有自定义变量的注释 * 例子 * 参考书目 1. programming Visual C++ fifth edition,Microsoft Press 2. Visual C++/Turbo C串口通信编程实践,电子工业出版社,2004年10月 * * 本段提示 用MFC创建一个空对话框 消息映射响应用户输入 DC和GDI CDC::TextOutW、CDC::FillRect、CDC::MoveTo、CDC::LineTo、CDC::Polyline、CDC::SelectObject CFont CBrush Cpen 线程 串口通讯基本原理 从广义来说,PC与外部通讯就两种方式: 并行:一个数据单元中,各位数据同时送出 串行:一个数据单元中,各位数据依次发出 D0 . . . . . . D7 CLK Data CS D0 D1 D2 D3 D4 D5 D6 D7 … CLK Data 串口通讯基本原理 总线回顾 串行总线 RS-232(EIA,1969) RS-422、RS-485(EIA) IEEE 1394(IEEE,1995) USB(7家公司联合,1994) 并行总线 STD(8位,Pro-Log,1978) ISA(16位,IBM,1984) EISA(32位,多家公司联盟,1989) PCI(32位,Intel为首,1
文档评论(0)