命令解析--实现对硬件的控制
写在最前面
华清远见教育集团
15年专注高端IT培训
做良心教育,做专业教育,做受人尊敬的职业教育创客学院官网:http://www.makeru.com.cn/
华清远见创客学院嵌入式课程链接:http://www.makeru.com.cn/emb
华清远见创客学院物联网课程链接:http://www.makeru.com.cn/iot
正文
底层实现对数据的采集、分类、打包、发送,同时还要可以接收并解析上位机传递下来的命令。下位机通过串口来接收上位机下发的命令字,然后进行解析命令,然后去控制对应的硬件。
本文分析程序的设计思路。底层对串口传递过来的命令接收--解析--执行--跟新硬件状态标记。这里目前仅实现通过命令字0x60 0x61 控制led灯的亮灭。这里实际上就是一个串口处理程序。
首先定义统一的命令格式
然后主程序的流程
对输出设备硬件初始化,然后在while循环中轮询串口2中断标志位。当接收到数据后,进行数据分析处理。
串口2接收命令字
这里是串口2中断程序的实现,当接收到的数据流最后两个字节是 0a 0b(win系统下的回车换行符),节判断为接收完成了。数据存放在USART2_RX_BUF数组中,USART2_RX_STA是状态标记。
通过命令掩码判断
用命令掩码和命令进行与运算,然后判断掩码部分的内容是否是某一个类型的命令,然后进行相关的处理(或进一步判断)。
执行操作并且跟新硬件状态
实现对硬件的控制,跟新硬件状态描述。
通过串口助手,向下位机发送命令
嗯,就是这样。。
文章来源: blog.csdn.net,作者:hinzer,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/feit2417/article/details/84899740
- 点赞
- 收藏
- 关注作者
评论(0)