本帖最后由 ohy3686 于 2017-7-30 21:13 编辑
【CC2530入门教材-增强版】基础技能综合实训案例(基础版)-终端源码
一、题目帖子:
https://bbs.21ic.com/icview-1861992-1-1.html
二、硬件电路。
关于这个综合实训案例,我自己实在“全国职业院校技能大赛--物联网技术应用赛项”的Zigbee模块上实现的。该模块的电路应该和TI公司官方评估板的推荐电路差不多,我想现在市面上很多开发板也是参考这样的电路设计,只要您使用的开发板上有LED灯、按键输入、串口输出和一路A/D转换,都可以使用我的源码实现这个综合实训,硬件电路引脚连接如下图:
三、设计思路。
整个测控终端的代码大约有370多行,在这里不能逐一的分析和讲述。各个基础功能模块的操作和《CC2530入门教材》中的案例没有太大差异,其核心代码为主要业务逻辑的处理。这里的主函数不想前面单一功能模块案例的那么简单了,实际上它是一个中断服务与前后台处理的程序结构。既要处理本地的各种功能,又要响应远程的各种命令,不但要管理各个基本任务,而且还要进行运行状态的切换。在功能比较复杂的系统中,可能还需要引入基于状态机思路的事件调度思想或者更高级的程序框架结构。
串口数据接收是测控终端的第一个关键地方。在这里不是要接收一个字节或者一串字符,而是要完整正确接收完8个字节的一帧数据,在数据接收完成后通过一个标志F_DataRecv通知主函数一帧数据接收完成可以进行解析和执行了。命令帧的正确解析和顺利执行是测控终端运行的枢纽,这个部分没有难点,主要是根据通信规约来逐一解析。既然测控终端要采集光照数据和记录设备状态,那么ADC数据采集部分也是一个核心部分,但是没有太大的难点。在进行阈值比较,进行灯光自动开关的时候,不要忘记对照明设备状态的实时登记哦。
四、程序源码。
1、上位机源码分析详见:http://www.cnblogs.com/ALittleBee/p/7260451.html
2、测控终端源码分析如下:
|