serial_communication串口通信模块
串口通信的serial_communication.cpp挺适合用在 ROS 和单片机对接的场景,是你用rk3399搭stm32f407这种组合,稳定性还不错。文件里用的是asio库,不走rosserial那一套,省心也高效,传输的就左右轮的脉冲数,简单清晰。
整套逻辑就是 STM32 定时发编码器数据上来,ROS 端解析后发布odom和tf,你只要好serial.read()和轮速计算,定位就跑得蛮稳。比起复杂的 CAN 或更重的协议,这种方式轻量又实用,调起来没那么多坑。
如果你也是用stm32f407跑裸机或者FreeRTOS,可以搭配这些资料试试:STM32F407 实例、FreeRTOS 移植。配合DMA收串口效果更好,CPU 也轻松。
还有,如果你想扩展功能,比如加 SD 卡记录,或者 LED 做状态指示,可以参考这几个资源:SD 卡操作、LED 点灯。别忘了管脚也得搞清楚,看看stm32f407 管脚定义那篇,挺全的。
如果你正折腾ROS串口通讯、还用的是stm32f407,这个serial_communication.cpp蛮值得参考一下。结构清晰、依赖少,适合想快速上手的朋友。
下载地址
用户评论