写在最前面
华清远见教育集团
15年专注高端IT培训
做良心教育,做专业教育,做受人尊敬的职业教育创客学院官网:http://www.makeru.com.cn/
华清远见创客学院嵌入式课程链接:http://www.makeru.com.cn/emb
华清远见创客学院物联网课程链接:http://www.makeru.com.cn/iot
正文
本文重点是实现A9应用层与下位机的交互,关注应用层对数据包的分析和处理方法。
A9应用层程序通过驱动层实现交互,应用程序调用驱动提供的接口,使用起来也比较简单。驱动层涉及到USB-串口协议,本人没有涉及。硬件上需要先完成对USB、串口驱动的移植,前面已经有过介绍https://blog.csdn.net/feit2417/article/details/84912433
代码分析
主程序
整个流程很简单:打开设备节点 --> 配置串口模式 --> 发送下位机命令 --> 轮询查询&解析送来的数据包 --> 打印输出信息。
串口配置
波特率115200,8位数据位,无奇偶校验,1位停止位。
set_com_config(fd, 115200, 8, 'N', 1);
具体通过函数设定如下
命令发送
这里向下位机发送命令码0x61,控制led
unsigned char led_ch = 0x61;
write(fd,&led_ch,1); sleep(2);
接收数据包并打印出来
调用了驱动层提供的read方法
打印出传感器采集到的数据信息
最终效果
接收到数据