硬件:正点原子阿波罗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虚拟串口还打印不了信息,后面在研究看看要怎么搞。有搞过的大佬可以指点下就更好了,感激不尽!

RT_Thread Studio使用——USB虚拟串口(VCP)相关推荐

  1. STM32F407 CUBEMX RT-Thread USB虚拟串口(VCP)

    STM32F407 CUBEMX RT-Thread USB虚拟串口(VCP) 记录一下STM32平台下使用RT-Thread使用VCP 首先确定HAL_Drivers下是否有RT-Thread提供的 ...

  2. 【正点原子STM32连载】第五十八章 USB虚拟串口(Slave)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  3. linux内核配置usb虚拟串口,Linux USB虚拟串口设备

    Linux内核中usb设备侧驱动程序分成3个层次:UDC驱动程序.Gadget API和Gadget驱动程序.UDC驱动程序(USB控制器)直接访问硬件,控制USB设备和主机间的底层通信,向上层提供与 ...

  4. STM32 USB虚拟串口原理(上)

    USB虚拟串口是使用USB的CDC(CDC为communication device class(virtual port com))类实现的一种通讯接口.使用STM32自带的USB slave功能可 ...

  5. stm32usb做虚拟串口和键盘_关于stm32f103的USB虚拟串口程序移植

    手边有个项目要用到USB传数据到主机,虽然有很多种方式,但最后还是选择了USB虚拟串口模式,将数据上传至pc端: 然而这就涉及到了移植问题,在keil下官方已经给出了一个完整的USB TO VCOM的 ...

  6. android usb虚拟串口,USB 虚拟串口简介

    1. USB虚拟串口简介 USB虚拟串口属于USB通信设备类.在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口.在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT ...

  7. 【荔枝派zero】usb虚拟串口实现

    参考http://zero.lichee.pro/完成基本系统搭建 实现USB虚拟串口需要配置内核 make ARCH=arm menuconfig进入内核配置菜单,并进入到下面路径: ->De ...

  8. stm32f103gd32的usb虚拟串口,打印类printer组合设备

    stm32f103&gd32的usb虚拟串口+打印类printer组合设备@TOC stm32f103&gd32的usb虚拟串口,打印类printer组合设备 由于gd32和stm32 ...

  9. USB 虚拟串口简介

    1. USB虚拟串口简介 USB虚拟串口属于USB通信设备类.在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口.在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT ...

最新文章

  1. AngularDart Material Design 卡片
  2. 1.为什么要学习MATLAB
  3. 程序员,请不要抢系统管理员的饭碗
  4. [bzoj3489]A simple rmq problem
  5. 【Libevent】Ubuntu安装libevent报错问题解决
  6. Cannot resolve method ‘call(java.lang.String, org.apache.flink.table.api.ApiExpression)‘
  7. js获取当前日期星期几
  8. Java中after注解_Spring(12):使用注解(@AfterThrowing/@After/@Around)实现AOP异常增强与实例...
  9. pip install win32api报错解决方法
  10. [Java] 蓝桥杯ALGO-10 算法训练 集合运算
  11. Hybrid 开发:JsBridge - Web 和客户端的桥
  12. 金算盘加密狗维护信息
  13. Chrome 咕咕牛懒器(guge niú lǎn qì) 安装 及助手插件操作
  14. 信号完整性(SI)电源完整性(PI)学习笔记(十七)传输线的串扰(一)
  15. 给大家推荐一个大大的萌妹子,算是我学计算机以来遇到的最喜欢的妹子吧!23333333
  16. Opencv中的数据存储(1)
  17. 使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2
  18. CV各领域牛人及资源-有些网页已很久没更新
  19. vue+canvas如何实现b站萌系登录界面
  20. 打不开Eclipse,Eclipse闪退(已解决)

热门文章

  1. 1W以内的笔记本推荐!!!
  2. Access中使用sql查询
  3. 【AXI】解读AXI协议双向握手机制的原理
  4. 计算机硬件安装过程带图,电脑硬件组装全过程之一--CPU安装图解
  5. php实现联系客服(在线咨询)
  6. 基因在染色体上位置的表示
  7. html5 移动画布,html5画布移动元素(html5 canvas move element)
  8. RCC外设的学习和理解
  9. hokuyo雷达驱动安装
  10. 蓝桥杯 2022 真题 纸张尺寸