5. STM32L496 USB CDC适配
5.1. 开发板简介
采用 LQFP144 封装的 STM32 微控制器
3 个用户 LED
2 个用户和复位按钮
32.768 kHz 晶振
USB OTG 全速或仅限设备
板连接器:USB 与 Micro-AB 或 USB Type- C
5.2. 外设简介
LED
BTN
LPUART
USB
这里注意一下,当使用USB Device功能时,需要将JP4跳冒接上
5.3. USB CDC 虚拟串口功能实现
开发板上的跳冒接线如下图,特别注意下,测试USB Device时,需要将JP4跳冒接上,本移植方式,应该也使用其他STM32的BSP
配置usb引脚
确认当前已经使用cubemx完成了USB引脚,时钟等相关配置
修改配置Kconfig
打开board/Kconfig
添加如下代码
config BSP_USING_USBD
bool "Enable OTGFS as USB device"
select RT_USING_USB_DEVICE
default n
使能usbd cdc功能
使能usbd驱动框架
使能usbd 驱动
编译,并下载工程
在BSP工程中执行
scons –target=mdk5
打开mdk工程,下载固件,观察设备管理器,是否多出了一个串口,usb cdc功能添加成功
5.4. USB CDC虚拟串口功能测试
经过上面的步骤,我们已经成功将USB CDC设备类给驱动起来了,接下来,我们需要测试该CDC 虚拟串口是否可以正常工作
作为普通的uart使用
修改步骤
工程中添加如下测试代码
https://github.com/RT-Thread-packages/peripheral-sample/blob/master/uart_sample.c
修改串口名称为
vcom
测试串口读写
设备上电,等待虚拟串口枚举成功
打开串口工具,
开启流控DTR
在finsh中输入uart_sample命令,运行uart sample,观察串口工具是否有输出
在串口工具中发送
aaaaaaa
,看是否有有bbbbbbbb
等输出
CDC作为console功能测试
修改步骤
将
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
放到main函数开头的地方修改rtconfig.h中的
RT_CONSOLE_DEVICE_NAME
为vcom