RT_Thread Studio使用——USB虚拟串口(VCP)

硬件:正点原子阿波罗F429开发板,主控STM32F429IGT6
软件:RT-Thread Studio 2.2.5
RT-Thread 版本:4.1.0
在RT-Thread Studio中开启外设的时候,可以看一下drivers/board.h中相关外设使用的说明,例如
在这里插入图片描述
根据提示,要是能USB设备,需要5个步骤:
1.在RT-Thread Settings中打开USB设备,RT-Thread Settings -> 组件 -> 设备驱动程序 -> 使用USB,做如下配置(配置完记得保存)
在这里插入图片描述
2.添加相关宏定义
在这里插入图片描述
3.将CubeMX生成的工程中void HAL_PCD_MspInit(PCD_HandleTypeDef hpcd)函数复制到drivers/board.c文件中*
CubeMX中USB相关配置
在这里插入图片描述
在这里插入图片描述
USB时钟配置为48MHz。这里如果不知道RT-Thread Studio配置外部晶振和时钟的可以看我这篇博客:RT-Thread Studio使用——创建工程并配置外部时钟
在这里插入图片描述
将CubeMX生成的工程中void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)函数复制到drivers/board.c中
在这里插入图片描述
4.将CubeMX生成的时钟配置函数也复制到工程中(官方说的是复制到board.c中,我是复制到drv_clk.c中,替换掉原来的时钟配置函数,具体可以看前面提到的那篇博客)
在这里插入图片描述
5.在drivers/stm32f4xx_hal_conf.h文件中添加宏定义PCD模块使能宏定义
在这里插入图片描述
跟我一样,按照前面5个步骤走完的话,编译程序,应该会报如下错误
在这里插入图片描述
EP_MPS_64没有声明。我在RT-Thread Studio生成的工程中全局搜索,没有搜到定义的地方。于是我在CubeMX生成的工程中全局搜索,就搜到了这个宏定义,把它复制到报错的文件中(drivers/drv_usbd.c)就可以了
在这里插入图片描述
之前我也照着网上其他人的博客操作,但是其他人好像没有提及到这个问题,可能是RT-Thread版本不一样还是其他的原因,希望有知道的大佬指点一下。
到此编译工程就没有问题了。烧录程序测试一下。
控制台键入命令list_device可以查看到usb虚拟串口
在这里插入图片描述
直接用usb连接电脑也可以识别到设备
在这里插入图片描述
总结:用usb虚拟串口后续是想实现控制台映射到usb的,目前只是实现了USB虚拟串口的设备,目前由于控制台用的是uart1,所以usb虚拟串口还打印不了信息,后面在研究看看要怎么搞。有搞过的大佬可以指点下就更好了,感激不尽!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值