之前使用RT-Thread的时候使用RT-Thread Studio来配置的,最近刚开始转用ENV来配置,踩了一点坑。特别是这个USB虚拟串口问题,按照别人写的教程来配置,最后usb连上电脑没有任何反应。看博客和论坛也有人提出相同的问题,但是好像还没人解答,于是自己花了点时间摸索了一下这个问题,最后终于能成功识别usb虚拟串口了。写下这篇博客记录一下。
1、打开ENV,进入menuconfig,打开USB设备驱动,选择USB CDC 设备
2、使能USB
3、打开CubeMX配置相关的时钟和外设
配置USB外设
配置时钟
生成代码
4、用scons生成mdk5工程
5、打开工程,用前面CubeMX生成的main.c文件中的void SystemClock_Config(void)复制并替换到rt-thread工程中
6、最容易忽略的一步:将CubeMX生成的usbd_conf.c文件中的void HAL_PCD_MspInit(PCD_HandleTypeDef pcdHandle)函数复制到rt-thread工程中的stm32f4xx_hal_msp.c文件中*
网上很多教程的配置都会漏了这一步,导致最后usb插上电脑后, 没有任何反应,但是shell控制台用list_device可以查询到vcom和usbd设备
7、编译并烧录代码,usb连接电脑,通过设备管理器就可以看到usb虚拟串口了!
RT-Thread使用——USB虚拟串口
最新推荐文章于 2024-07-25 20:15:52 发布