【RT-Thread作品秀】基于RT-Thread的CAN数据采集终端作者:tlled
概述在测试产品中,需要监听CAN通信上的数据,之前通过CAN适配器连接到电脑,在上位机上监听,但是在户外测试使用PC机不是很方便,使用ART-PI板卡外接显示屏,来显示要查看的设备总线的数据,以图形的方式显示出来,方便查看,我这次要实现的功能是显示显示十个测距传感器的距离,以条形的方式显示每个距离,同时显示测距传感器中最近的一个距离以数字的方式显示。
开发环境硬件:RT-Thread ART-PI STM32H750开发板,DIY 7寸电容触摸显示屏和CAN转换器
RT-Thread版本:RT-Thread 4.0.3
开发工具及版本:RT-Thread Studio 版本2.0.0
RT-Thread使用情况概述内核部分:线程创建,信号量,消息队列
组件部分:串口,CAN,I2C,LCD
软件包部分:FT6236驱动,peripheral_samples中的can_sample 例程,TouchGFX 4.15
其他:无
硬件框架硬件框图如下:
硬件说明:
1、LCD显示屏部分是根据ART-PI显示接口,绘制的转接驱动板,按照7寸的硬件驱动要求,绘制硬件电路设计电路PCB板。
2、显示触摸屏使用I2C协议的电容触摸屏。
3、CAN驱动是使用的mcp2551收发器芯片转接小板
软件框架说明软件总体流程图:
软件部分说明:
修改LCD和触摸屏驱动程序,能够正常显示和触摸。
使用TouchGFX组件,设计显示的界面。
创建消息队列,用于将CAN通信接收到的消息发送给TouchGFX组件,实现数据传输。
CAN通信接收处理。
软件模块说明演示效果https://www.bilibili.com/video/BV1bi4y1w74V/
代码地址https://gitee.com/gtizhanghui/art-pi-prj
比赛感悟这次项目是在RT-Thread Studo软件创建ART-PI板卡对应的例程上进行修改的,也是第一次使用这个软件创建项目工程到下载板卡上运行,相比之前使用其他的编译工具,这个软件更方便,功能也更强大,可以直接在软件包里面找到相应设备的驱动直接可以应用到项目中,外设组件和设备驱动也可以应用,确实很方面。
这次项目中使用的TouchGFX与板卡之间的数据交互的实现,花费了较多的时间,通过网上查看资料,通过论坛的帮助,最终解决了问题,收获了不少。
CAN通信部分使用的例程修改的,这部分还好,就是使用硬件滤波功能时,会有报错提示。
1