基于STM32F107与RT-Thread设计的数据采集器

本文介绍了基于STM32F107的CAN驱动编写,采用RT-Thread设备框架实现串口数据处理,并通过GPRS模块无线上传。在调试过程中,分享了内存分配、finsh使用以及RTT例程格式的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者

孙冬梅:南京工业大学自动化与电气工程学院博士、副教授,资深RT-Thread开发者

欢迎给RT-Thread投稿,获赠RT-Thread T恤一件。

征稿 | 你写不写,福利就在这里~~


设计了基于STM32F107设计的数据采集器,实现多种数据(串口、CAN口)采集处理后通过 GPRS模块 无线上传。重点编写了CAN设备驱动; 使用设备方式实现GPRS模块串口数据的上传下载;最后提出了使用线程过程中出现的一些问题。

一、 功能分析

系统功能如图1 所示,不算太复杂。由于下级传感器模块的上报的数据内容很多,导致编写处理程序内容较多。

二、CAN驱动编写

为了模块化地处理传感器的主动上报数据,CAN设备不再用以前的中断处理,而是采用了RTT的设备框架,重新编写了device的驱动。研究RTT里的CAN总线收发设备:

发现只有框架,没有内容。就仿着串口写一个candevice。研究组件使用 中的串口驱动:

这是一个读代码的过程,弄清楚框架后,编写类似于linux中的驱动编写。

以上程序全部写好后,就可以使用设备通用操作函数来操作CAN。在主程序中首先要初始化设备,再注册设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值