ROS学习与分享:ROS与STM32通讯应用(一)
作者:互联网
吐槽一下:
在ROS的学习过程中,对于STM32,发现其串口传输每次只能够发送一个同一种数据类型的包。而对于ROS系统的自动导航,其所产生的导航数据是浮点型(float)型数据,如果需要对线性的XYZ以及航向角等数据同时发送需要另下点功夫。
在师兄的分享下,利用一种特殊的方法能够很好的解决这个问题。
但是又出现一个问题,ROS作为上位机在同时收发数据时,会出现错乱,要么只收不发,要么只发不收,或者直接启动失败。对于STM32,根据电控组的大哥讲述,下位机对于STM32的串口通讯是利用优先级进行处理收发数据的。
显然对于我而言,优先级是个啥?再者,对于机器人控制中,听得最多的,就是控制的实时性,将数据收发分成优先级处理,完全不符合我心目中对机器人控制的要求…
其实网上已经有很多关于此类的教程,但大部分个人感觉讲得比较深。看半天愣是没看懂。所以我将会把ROS与STM32通讯拆分为多步,与大家探讨ROS与STM32通讯的构建过程。
根据此方法进行构建,目前仍会存在串口初始化失败等问题。目前仍在寻找相关问题的解决方案。
第一节: ROS上位机向STM32发送一个字符。
第二节: ROS上位机向STM32发送并接收一个字符
第三节: ROS上位机循环读取键盘中的字符,并向STM32发送一个字符。
第四节:
第五节:
第六节:
第七节:
第八节:
第九节:
第十节:
标签:发送,ROS,优先级,STM32,上位,串口,分享 来源: https://blog.csdn.net/weixin_48848716/article/details/122239228