- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 13 * 14 * 15 * 15 * 15 * 15 * 18 * 15 * 24 * 25 * * * * * * * * * ?? * * * * * * * * * * * * * * * * * * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4.7.1 远程温度采集系统 上位机子程序构成 接收报文检查checkframe() 功能:从机地址检查、CRC校验、功能码检查等; 入口:串行口接收的新一帧报文保存在一数组SiForm[] 中; 出口: SiForm[] 中的报文若正确,函数返回值为0;若错误,返回值为1。 数据处理process_sio_data() 功能:按功能码不同,对SiForm[] 中的报文执行不同的操作。 入口:校验正确的接收报文保存在一数组SiForm[]中 出口:提取温度数据,计算温度值,保存、显示、传输温度值或执行其它操作。 * 4.7.1 远程温度采集系统 上位机子程序构成 是否收到一帧新报文get_si_data() 入口:串行口接收数据以中断方式保存在一接收缓存区SiBuf[]中; 出口:判断接收缓冲区SiBuf[],若收到一帧新报文,则将新报文转存入一数组SiForm[]中,函数返回值为1;否则返回值为0。 典型程序分析:get_si_data() 定义Si_in为串行接收缓冲区SiBuf[]的数据存入指针; 定义Si_out为串行接收缓冲区SiBuf[]的数据取出指针。 * int get_si_data(void) { int flag=0; unsigned char i; if((Si_in-Si_out)=21) /* 21为报文长度 */ { /*printf(\n--- Si_out=%d Si_in=%d \n\n,Si_out,Si_in);*/ for(i=0; i21;i++) { SiForm[i]=SiBuf[Si_out]; Si_out++; if(Si_out = SILEN) Si_out=0; /* printf(%x ,SiForm[i]); */ } flag=1; } else { flag=0; } return (flag); } * 4.7.1 远程温度采集系统 下位机程序基本流程 初始化 组织回应报文 发送回应报文 数据处理 是否收到一帧新报文? 接收报文检查正确? N N Y Y * 4.7.1 远程温度采集系统 下位机主循环程序 while(1) { printf(\n\nwait ASKING frame ...); if(get_si_data()) { if (!check_adress()) { if (!check_frame()) /* 帧检查,正确则返回0 */ if( 略…) { process_si0_data(); } } } if (kbhit()) { disableports(); exit(0); } } * 4.7.1 远程温度采集系统 下位机子程序—报文处理 void process_si0_data(void) { unsigned char ; switch(SiForm[1]) /* 功能码 */ { case 0x04: getda(); /* 获取传感器温度数据*/ makeframe(); sendframe(); break; default: break; } } * 4.7.2 远程显示屏系统 通信接口电路 PC侧:EIA-232与EIA-485接口转换 单片机侧:TTL与EIA-485接口转换 通信协议:自定义 单片机 1 单片机 n 显示屏 1 显示屏 n PC机 ? ? ? ? ? ? ? ? ? 485总线 系统结构 * 4.7.2
您可能关注的文档
最近下载
- 《机械装调技术》电子教案 模块五 整机调试与运行任务一 齿轮啮合齿侧间隙的检测与调整.doc VIP
- 青花瓷 完美演奏版 周杰伦 钢琴谱 数字 简谱.pdf VIP
- 第38届物理竞赛决赛实验考试答题纸 .pdf VIP
- 现代医药物流交易的配送中心建设项目可行性研究报告.doc VIP
- 2025-2026学年初中生物学人教版2024八年级上册-人教版2024教学设计合集.docx
- 养生馆卫生管理制度(3篇).docx
- 健康管理师课件第一章--健康管理概论.ppt VIP
- JBT 4333.4-2013 厢式压滤机和板框压滤机 第4部分:隔膜滤板.pdf VIP
- 电信反诈骗演讲稿模板5篇.docx VIP
- 基于光纤布拉格光栅的温度测量系统设计与应用.docx VIP
文档评论(0)