STM32CubeIDE使用全速USB的虚拟串口进行环路测试

目录

一、简介

1.1、开发环境

1.2、实现功能

二、STM32CubeIDE配置

2.1、打开全速USB

 2.2、调用USB库

三、程序解析

3.1、修改usbd_cdc_if.c

 3.2、函数CDC_Receive_FS解析

3.3、函数CDC_Transmit_FS解析


一、简介

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为发送字节长度缓存。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洪恒远

感君意气无所惜,一为歌行歌主客

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值