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虚拟串口还打印不了信息,后面在研究看看要怎么搞。有搞过的大佬可以指点下就更好了,感激不尽!
RT_Thread Studio使用——USB虚拟串口(VCP)相关推荐
- STM32F407 CUBEMX RT-Thread USB虚拟串口(VCP)
STM32F407 CUBEMX RT-Thread USB虚拟串口(VCP) 记录一下STM32平台下使用RT-Thread使用VCP 首先确定HAL_Drivers下是否有RT-Thread提供的 ...
- 【正点原子STM32连载】第五十八章 USB虚拟串口(Slave)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- linux内核配置usb虚拟串口,Linux USB虚拟串口设备
Linux内核中usb设备侧驱动程序分成3个层次:UDC驱动程序.Gadget API和Gadget驱动程序.UDC驱动程序(USB控制器)直接访问硬件,控制USB设备和主机间的底层通信,向上层提供与 ...
- STM32 USB虚拟串口原理(上)
USB虚拟串口是使用USB的CDC(CDC为communication device class(virtual port com))类实现的一种通讯接口.使用STM32自带的USB slave功能可 ...
- stm32usb做虚拟串口和键盘_关于stm32f103的USB虚拟串口程序移植
手边有个项目要用到USB传数据到主机,虽然有很多种方式,但最后还是选择了USB虚拟串口模式,将数据上传至pc端: 然而这就涉及到了移植问题,在keil下官方已经给出了一个完整的USB TO VCOM的 ...
- android usb虚拟串口,USB 虚拟串口简介
1. USB虚拟串口简介 USB虚拟串口属于USB通信设备类.在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口.在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT ...
- 【荔枝派zero】usb虚拟串口实现
参考http://zero.lichee.pro/完成基本系统搭建 实现USB虚拟串口需要配置内核 make ARCH=arm menuconfig进入内核配置菜单,并进入到下面路径: ->De ...
- stm32f103gd32的usb虚拟串口,打印类printer组合设备
stm32f103&gd32的usb虚拟串口+打印类printer组合设备@TOC stm32f103&gd32的usb虚拟串口,打印类printer组合设备 由于gd32和stm32 ...
- USB 虚拟串口简介
1. USB虚拟串口简介 USB虚拟串口属于USB通信设备类.在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口.在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT ...
最新文章
- AngularDart Material Design 卡片
- 1.为什么要学习MATLAB
- 程序员,请不要抢系统管理员的饭碗
- [bzoj3489]A simple rmq problem
- 【Libevent】Ubuntu安装libevent报错问题解决
- Cannot resolve method ‘call(java.lang.String, org.apache.flink.table.api.ApiExpression)‘
- js获取当前日期星期几
- Java中after注解_Spring(12):使用注解(@AfterThrowing/@After/@Around)实现AOP异常增强与实例...
- pip install win32api报错解决方法
- [Java] 蓝桥杯ALGO-10 算法训练 集合运算
- Hybrid 开发:JsBridge - Web 和客户端的桥
- 金算盘加密狗维护信息
- Chrome 咕咕牛懒器(guge niú lǎn qì) 安装 及助手插件操作
- 信号完整性(SI)电源完整性(PI)学习笔记(十七)传输线的串扰(一)
- 给大家推荐一个大大的萌妹子,算是我学计算机以来遇到的最喜欢的妹子吧!23333333
- Opencv中的数据存储(1)
- 使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2
- CV各领域牛人及资源-有些网页已很久没更新
- vue+canvas如何实现b站萌系登录界面
- 打不开Eclipse,Eclipse闪退(已解决)