目录
一、简介
1.1、开发环境
STM32CubeIDE V1.10.1。
单片机型号:STM32F767IGT6.
1.2、实现功能
使用STM32CubeIDE配置全速USB为虚拟串口,并修改程序,将接收的数据发送回去。
二、STM32CubeIDE配置
2.1、打开全速USB
选择Connectivity → USB_OTG_FS → Mode → Device_Only。
时钟树:USB时钟为48MHz。
2.2、调用USB库
选择Middleware → USB_DEVICE → Class For FS IP → Communication Device Class(Virtual Port Com)。
配置完后,即可转换出程序。
三、程序解析
3.1、修改usbd_cdc_if.c
打开USB_DEVICE → App → usbd_cdc_if.c。
在函数CDC_Receive_FS里面,添加语句“CDC_Transmit_FS(Buf,*Len);”,即可实现将收到的数据,再次发送出去。
3.2、函数CDC_Receive_FS解析
函数CDC_Receive_FS为接收完成的回调函数。
函数带有2个参数Buf和Len。Buf为接收缓存的指针,Len为接收字节长度缓存的指针。
3.3、函数CDC_Transmit_FS解析
函数CDC_Transmit_FS为发送函数。
函数带有2个参数Buf和Len。Buf为发送数据缓存的指针,Len为发送字节长度缓存。