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
蛮值得参考一下。结构清晰、依赖少,适合想快速上手的朋友。
下载地址
用户评论