前言:之前ROS跟單片機的底層通訊主要是通過串口自定的協議來做,比如官網提供的arduino串口驅動一樣,需要ROS往下發一個指令,單片機再回傳一個指令,要寫一大堆的協議,這樣很麻煩,效率也比較低,
想着如果stm32也能像ROS一樣,進行訂閱發布,不去管其中的協議那樣就方便多了,基於這種想法,於是乎查了很多資料,發現了一個大神做了類似的工作:http://blog.csdn.net/wubaobao1993/article/details/70808959
具體就是移植了ros_lib,里面居然還有keil工程,下載下來稍微改改就能用了,感謝這位大神!
廢話少說,上代碼:
main函數:
主程序主要是訂閱和發布程序,類似官網C++教程。
超聲波讀取程序:
STM32發布后,ROS端啟動rosserial:
rosrun rosserial_python serial_node.py /dev/ttyUSB0
然后訂閱
最后上一張測試效果圖:
20ms讀取一次,數據很穩定!