

图10 设计总的框图
Fig.10 Total picture of the design
5) 接收数据处理总的框图如图11所示,首先判断控件的CommEvent属性值,若该值为2,在判断是否收到指定长度的数据,若为2,择显示收到的数据,否则接收界面不显示任何数据。
否
是 其他
不等于0
图11 接收数据处理总的框图
Fig.11 Take-over data processing of total chart
4 串口通信程序的调试、结果与分析
4.1 任务概述
系统的调试包括硬件调试和代码调试。系统硬件调试是检查电路的焊接是否正确和器件是否运行正常。使用万用表测试线路的连接线,然后进行通电检测,然后结合编程测试器件。软件调试包括读取温度、湿度、电压等数据的子程序的调试以及模块连接。
4.2 调试方案及调试步骤
4.2.1 调试方案
本文调试方案采用自上而下模式,先通过调试助手测试是否有数据发送了,若没有接收到任何数据,则需要分别对硬件模块和软件模块进行一一测试。
(1) 硬件调试方案
根据设计的原理电路做好实验样机,便进入硬件调试阶段。调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。
调试方案一:用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障,再通过调试助手进行测试。
调试方案二:暂时排除软件设计方面的错误,调试各部分接口电路是否满足设计要求。这部分工作比较简单。通常的方法是,先设置好接口电路,再定位到桌面上的“开始”,再找到“所有程序”下的“附件”,最后定位到“通讯”下的“超级终端”下的ZigBee,设置好端口号及设备资源管理器下的端口参数,即可检测硬件设计是否有误。
(2) 软件调试方案
在软件调试中,由于芯片对时序要求非常严格,所以当出现问题时必须要对每个可能的模块进行调试,但由于本设计较简单,只需要对串口初始化模块和数据接收模块进行测设即可。
对于模块结构程序,对子程序进行调试。调试时,一定要符合入口条件和出口条件,特别注意串口编号的设置。调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误、变量值的变化以及转移地址的错误。同时,还可以发现用者系统中存在的硬件设计错误和软件算法错误。
各程序模块通过后,则可以把相关功能块连在一起进行总调。这个阶段若有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和清除是否有误。堆栈区是否有溢出,输入设备的状态是否正常等等。若用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问题。当全部调试和修改完成后,将用者程序固化到EPROM中,插入用者样机后,用者系统即能独立工作,至此,简单的串行通信系统调试方案完成。
4.2.2 调试步骤
(1).硬件调试过程是:
检查RS232电气特性是否稳定。
检查9针RS232接口引脚插入是否有问题。
检查无线感应器模块电源是否充足。
检查互相通信的两个串口参数设置是否匹配,特别是波特率与无线感应模块的波特率。
(2).软件调试过程是:
软件调试采用模块程序设计技术,逐个模块调好后再进行系统程序总调。首先检查串口设置参数模块是否有问题,没问题后,再对检查主模块,通过设置程序断点,跟踪程序运行一步一步进行,或者两个子程序的调试顺序调转也行。
4.3 调试结果及讨论与分析
4.3.1 调试结果
代码运行正常,能实时的显示接收到的数据,其数据接收情况如图12所示。
图12 接收数据显示图
Fig.12 Showing draw of receiving data
4.3.2 讨论与分析
1) 在前几次的测量中总是读不到数据,经过检查,发现是串口编号没有配置好,与实际的RS232接口在PC机上所接的不符合,故达不到接收的目的。转贴于 酷文网-论文下载中心 http://www.coolwen.net