STM32的USB虚拟串口(自学笔记)--解决USB虚拟串口不识别
创始人
2024-11-05 04:39:31
0

参考的文章:【CubeMX】USB虚拟串口的使用_stm32h7 cubemx usb虚拟串口-CSDN博客

STM32CubeMX | 快速实现STM32 USB虚拟串口功能(回环测试、USB转TTL的功能)_usb转串口 "stm32-CSDN博客

摘要:利用CubeMX在STM32F765平台上配置USB虚拟串口流程不过多赘述可参考上述两个文章,在使用CubeMX 6.10版本配置时出现串口助手不识别USB虚拟串口的情况,其原因主要是CubeMX生成的代码缺少对虚拟串口基本参数的配置,标准串口在配置时需选择合适的波特率,起始位停止位和数据位,USB虚拟串口同理,但该版本CubeMX直接生成USB虚拟串口代码时却省略了上述关键参数配置。

(1)配置时钟及下载线

(2)配置USB虚拟串口

关于MODE选项的解释如下,在使用CubeMX配置USB虚拟串口时,如需将STM32设备配置为一个虚拟串口设备(VCP,Virtual COM Port),则应该选择“Device_Only”模式。这是因为STM32应设备作为一个USB设备与主机进行通信,而不是作为一个USB主机或OTG设备。

cubeMX选项解释:

  • Disable: 关闭USB功能。
  • Host_Only: 将STM32配置为USB主机,这种情况下它可以连接其他USB设备,但不能作为虚拟串口设备。
  • OTG/Dual Role Device: 将STM32配置为OTG(On-The-Go)模式,这种模式下它可以作为主机或设备进行工作。
  • Device_Only: 将STM32配置为仅作为USB设备,这种模式下它可以作为虚拟串口设备与主机通信

(3)问题:、

按上述步骤(网络上一些教程到此就不在进行配置)配置USB虚拟串口并生成KEIL内可用的代码后,程序在编译下载到STM32F765平台后串口助手不识别USB虚拟传开的COM口。且设别管理器亦无法正常识别。

(4)问题解决:

按网上普遍提供的教程直接配置STM32F765后,STM32F765串口助手无法识别USB COM口是因为缺少对虚拟串口基本参数的配置,需按照本文提供的第二个链接进行配置。需要添加的代码如下(下方代码均在usbd_cdc_if.c中添加,并将usbd_cdc_if.h在main,c中调用):

USBD_CDC_LineCodingTypeDef USBD_CDC_LineCoding = { 	115200,      // 默认波特率 	0X00,        // 1位停止位 	0X00,        // 无奇偶校 	0X08,        // 无流控,8bit数据位 };  

下方对波特率等参数的配置代码需在下方函数中添加。

static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length)

 

    case CDC_SET_LINE_CODING:     	USBD_CDC_LineCoding.bitrate = (pbuf[3] << 24) | (pbuf[2] << 16) | (pbuf[1] << 8) | pbuf[0];     	USBD_CDC_LineCoding.format = pbuf[4];     	USBD_CDC_LineCoding.paritytype = pbuf[5];     	USBD_CDC_LineCoding.datatype = pbuf[6];     break;      case CDC_GET_LINE_CODING:     	pbuf[0] = (uint8_t)(USBD_CDC_LineCoding.bitrate);     	pbuf[1] = (uint8_t)(USBD_CDC_LineCoding.bitrate >> 8);     	pbuf[2] = (uint8_t)(USBD_CDC_LineCoding.bitrate >> 16);     	pbuf[3] = (uint8_t)(USBD_CDC_LineCoding.bitrate >> 24);     	pbuf[4] = USBD_CDC_LineCoding.format;     	pbuf[5] = USBD_CDC_LineCoding.paritytype;     	pbuf[6] = USBD_CDC_LineCoding.datatype;     break; 

经过上述改动后并测试STM32F765的虚拟串口可被串口助手正常识别

相关内容

热门资讯

九分钟了解!德州局脚本,佛手大... 九分钟了解!德州局脚本,佛手大菠萝有挂吗,妙招教程(有挂头条)1、操作简单,无需佛手大菠萝有挂吗手机...
9分钟辅助!四川游戏家园辅助器... 9分钟辅助!四川游戏家园辅助器(辅助挂)一贯存在有辅助软件(有挂秘笈)暗藏猫腻,小编详细说明四川游戏...
九分钟了解!wpk软件是正规的... 九分钟了解!wpk软件是正规的吗,hhpoker怎么开透视,诀窍教程(有挂讲解);1、在wpk软件是...
2分钟辅助!科乐第三方辅助工具... 2分钟辅助!科乐第三方辅助工具(辅助挂)一直真的有辅助软件(存在有挂)该软件可以轻松地帮助玩家将科乐...
第二分钟了解!wejoker辅... 第二分钟了解!wejoker辅助软件视频,德普之星透视辅助软件是真的吗,学习教程(有挂解惑)所有人都...
5分钟辅助!方片十三张脚本(辅... 5分钟辅助!方片十三张脚本(辅助挂)原来有辅助插件(了解有挂)1、方片十三张脚本有没有辅助教程、方片...
第5分钟了解!wejoker黑... 第5分钟了解!wejoker黑侠辅助器,hardrock作弊,指南书教程(确实有挂)wejoker黑...
一分钟辅助!欢乐达人葫芦鱼辅助... 一分钟辅助!欢乐达人葫芦鱼辅助(辅助挂)总是是真的辅助app(了解有挂)1、完成欢乐达人葫芦鱼辅助辅...
三分钟了解!wepoker黑侠... 三分钟了解!wepoker黑侠辅助器正版下载,哈糖大菠萝有没有挂,绝活儿教程(真的有挂)1、上手简单...
第三分钟辅助!余干辅助软件哪个... 第三分钟辅助!余干辅助软件哪个好(辅助挂)一直有辅助攻略(确实有挂)1、玩家可以在余干辅助软件哪个好...