Java教程

RT-Thread Studio 实现USB虚拟串口/STM32开发板

本文主要是介绍RT-Thread Studio 实现USB虚拟串口/STM32开发板,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文主要利用RT-Thread Studio软件和CubeMX软件实现大疆A板的usb虚拟串口功能,博主在使用过程中micro_ros这个软件包的时候,发现使用普通串口与上位机通讯的时候,传输的速度有限制,最快在20Hz左右,因此想到USB的虚拟串口功能。

一、在RT-Thread Studio软件中打开CubeMx使能单片机的USB

 注意要使能NVIC中断,同时检查下引脚是否正确。

二、配置时钟树并生成代码

以下是针对大疆的A型板配置的时钟树,并生成代码,不用打开,直接关闭CubeMx即可。

 三、RT-Thread Studio相关配置

1、添加ros软件包

注:ROS1为rosserial,ROS2 是micro_ros 

micro_ros软件包的主要作用是可以在stm32MCU上运行ROS2,方便了STM32与Ubuntu电脑的通讯。

在软件包的详细配置界面,将serial device name 改为vcom 。

2、USB组件相关配置

在RT-Thread Setting 更多配置 ---> 组件界面,选择使用USB,使用USB设备,更多配置界面如图所示。

 其中USB产品ID可以进行更改,以及虚拟COM线程栈的大小,virtual com rx buffer size 可以根据需要进行修改。产品ID的修改会影响在Ubuntu中的设备号,这一点对解决多个USB设备ID相同非常友好。

四、相关代码修改

在board.h文件中使能USB设备,取消对应的宏定义注释即可。具体名字为

#define BSP_USING_USBDEVICE

可以直接通过搜索找到这句话,具体的文件结构如图。

 此时将大疆A板通过USB口连接电脑即可看到相应的串口设备。

 五、总结

使用RT-Thread Studio软件开发ROS小车,简化了代码结构,尤其是MCU与上位机通讯部分,强烈推荐国产的开发软件。

本人同类文章在RT-Thread官方论坛也发过,附上链接RT-Thread官方论坛

这篇关于RT-Thread Studio 实现USB虚拟串口/STM32开发板的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!