作者:郭老师
之前由于工作需要,基于 RT-Thread 在 STM32 上实现了 USB 虚拟串口。为了方便大家,我在这里把在正点原子 F429 阿波罗开发板上实现 USB 虚拟串口的详细过程分享给大家,希望可以帮助到更多想要学习 USB 的人。
1、首先,需要更新了一下 RT-Thread 的源代码(因为 RT-Thread 的代码更新很快,短时间内就有可能有很多的代码更新,Github地址:https://github.com/RT-Thread/rt-thread 点star还能领10元柿饼派优惠券)
2、然后进入 rt-thread\bsp\stm32目录下,找到正点原子 F429 阿波罗开发板对应的BSP stm32f429-atk-apollo ,打开此目录。

3、然后查看一下当前 BSP 支持不支持 USB 功能。在当前目录下打开 Env 工具,输入 menuconfig 命令查看,可以看到在硬件配置的片上外设的配置菜单中并没有配置 USB 的选项,看来这个 BSP 还不支持 USB 设备。

4、想到新的 STM32 BSP 所有的 BSP 都是用的同一份驱动,这样就可以根据有没有做好的 USB 驱动来判断有没有 BSP 支持 USB 功能了。打开rt-thread\bsp\stm32\libraries\HAL_Drivers目录。如下所示,可以看到里面果然有 usb 的驱动文件,叫做drv_usbd_fs.c。

5、然后根据同一目录下的 Sconscript 脚本文件,可以查看这个驱动的依赖关系,根据下面的图片可以看出,此驱动文件依赖于 BSP_USING_USBD_FS这个配置项。

6、全局搜索此 stm32 目录下所有的 BSP ,查看哪个 bsp 下有这个配置项。根据这个配置项可以判断出哪个

本文介绍了如何在RT-Thread操作系统上,基于STM32正点原子F429开发板实现USB虚拟串口。通过更新RT-Thread源码、配置BSP、启用USB驱动、配置硬件引脚和时钟,最终成功注册USB设备并在设备管理器中显示为USB串行设备。
最低0.47元/天 解锁文章
701

被折叠的 条评论
为什么被折叠?



