STM32开发笔记33:解决USB CDC “该设备无法启动”问题

发布者:码字狂人最新更新时间:2019-07-16 来源: eefocus关键字:STM32  USB  CDC  无法启动 手机看文章 扫描二维码
随时随地手机看文章

单片机型号:STM32F401


    调试STM32的USB CDC设备已经有好多次了,可以看一下前面写的日志,针对不同的STM32 MCU都进行了调试。原本以为STM32F4会很简单,可处处是坑,已经调到半夜才解决问题,把问题重新梳理。


    我现在使用的芯片时STM32F401,在STM32CubeMX中,按照以下步骤设置。


    1、设置为全速从设备,不做USB电源检测。



    2、使能CDC,其它采用默认设置。



    按照上述设置生成的程序,下载到芯片后,接入计算机,默认是这样的



    仔细查看细节问题是这样的



    找了好久不能解决问题,网上有一种说法是,是更改usbd_conf.h文件,如下图所示,将USBD_MAX_NUM_CONFIGURATION设置为2,采用这种方法后,计算机可以正常认出该设备,但不能完成通讯操作。



    实在没有方法了,试着调整堆栈数值,偶然解决,我现在调整的数值如下,该数值在startup_stm32f401xc.s文件中。



    现在已经可以正常通信了,如下图。



    主逻辑代码如下:


int main(void)

{

uint8_t data[10] = {0,1,2,3,4,5,6,7,8,9};

 

  MX_ADC1_Init();

  MX_SPI1_Init();

  MX_USB_DEVICE_Init();

 

  while (1)

  {

if (Target.IsbMilliSecond_1000() == TRUE)

{

//¹¤×÷ָʾµÆ

Target.HAL.LED.Turn();

CDC_Transmit_FS(data, 10);

}

  }

}

    这种调整方法,难度过大了,STM32CubeMX需改进一下。


关键字:STM32  USB  CDC  无法启动 引用地址:STM32开发笔记33:解决USB CDC “该设备无法启动”问题

上一篇:STM32开发笔记34:USB CDC驱动程序的详细移植过程
下一篇:STM32开发笔记32:STM32F4定时器驱动程序的移植

推荐阅读最新更新时间:2024-11-05 19:18

STM32为核心控制芯片实现闸门测量技术解析方案
在电子工程、资源勘探、仪器仪表等相关应用中,频率测量是电子测量技术中最基本最常见的测量之一,频率计也是工程技术人员必不可少的测量工具。但是,传统的频率测量方法在实际应用中有较大的局限性,基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化,传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低。本文中提出一种基于ARM与CPLD宽频带的数字频率计的设计,以微控器STM32作为核心控制芯片,利用CPLD可编程逻辑器件,实现闸门测量技术的等精度测频。 本设计的技术指标: 测频范围:1Hz~200MHz,分辨率为0.1Hz,测频相对误差百万分之一。 周期测量:信号测量范围与精
[单片机]
以<font color='red'>STM32</font>为核心控制芯片实现闸门测量技术解析方案
stm32控制舵机DS3115转动
一、舵机DS3115 一般来讲,舵机主要由以下几个部分组成, 舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。 工作原理:控制电路板接受来自信号线的控制信号(具体信号待会再讲),控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。 舵机的基本结构是这样,但实现起来有很多种。例如电机就有有刷和无刷之分,齿轮有塑料和金属之分,输出轴有滑动和滚动之分,壳体有塑料和铝合金之分,速度有快速和慢速之分,体积有大中小三种之分等等,组合不
[单片机]
STM32学习笔记:串口一键下载电路(CH340)的理解
如图:为原子的串口下载电路 在CH340的数据手册上有引脚的介绍以及作用: 这两个引脚:DTR#和RTS#都是 输出类型, MCUISP(一键下载工具),会控制CH340这两个引脚的高低电平状态,通过控制DTR#和RST#这两个引脚的高低电平状态,从而控制STM32的BOOT0 和 RESET. 用万用表测量可知,DTR#、RST#初始状态的时都是高电平,在启用下载的时候,DTR#维持高,RST#拉低,此时两个三极管Q2 和Q3 导通,那么BOOT0 为高电平,RESET为低电平复位,然后DTR#变低,Q2不导通,复位结束,此时BOOT0 为高电平。由启动模式 可知,stm32的启动模式变为从系统存储器启动,启用串口
[单片机]
<font color='red'>STM32</font>学习笔记:串口一键下载电路(CH340)的理解
Keil MDK STM32系列(七) STM32F4基于HAL的PWM和定时器
配置 PWM 输出 选择芯片 System Core - SYS- Debug: Serial Wire 防止下次无法烧录 System Core - RCC- High Speed Clock (HSE): Crystal/Ceramic Resonator 启用外接高速晶振 Clock Configuration: (配置为最高84MHz)选择外部晶振, 把HSE和PLLCLK连上, 在HCLK上输入84回车, 软件会自动调节各节点倍数 Timers - TIM2 Clock Source: Internel Clock, 使用系统的时钟源 Channelx: PWM Generation CHx PWM输出 Counter
[单片机]
STM32学习笔记——测试闪灯程序
//所使用的是STM32F103C8共有48个管脚,共有两组GPIO,为GPIOA和GPIOB,每组有从0到15共16个引脚 //注意对STM32F103C8的操作和对库函数的使用,在使用时,要时刻参考《STM32F10xxx使用手册》和《STM32的函数说明》这两个文档 #include stm32f10x_lib.h GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO配置的结构体变量 包括GPIO引脚,引脚速度,引脚模式 ErrorStatus HSEStartUpStatus; //枚举类型,错误状态变量定义 存储外部高速时钟HSE状态
[单片机]
STM32与LPC1700的应用比较
NXP的东西在汽车上用的很多。我从毕业就在车载行业混。车上用的东西,飞思卡尔的最多,英飞凌那是车厂级别的采用,就是所谓的前装标准.汽车收音机出了ST的TDA7540外,最大的还是NXP的、 ST的东西才是有不少BUG。比如STM32刚出来的时候,为了快速抢占市场,那些芯片问题很多的,只是说现在好很多。ST最成功的还是STM8 深圳车载行业以前用的MCU都8位的,厂家有很多,松下,瑞萨,东芝、、、、、自从STM8出来以后已下子都 叛变了 转投ST阵营。 我09年开始玩STM32,后来,用STM32的64脚,100脚的做了几个应用。感触如下:《仅个人之言。》 1.开发容易,借助于那个让人 爱 有让人 恨 的库,开发周期比较快。 2.管
[单片机]
意法半导体推出低价位的硬件开发平台 STM32 Discovery Kit
微控制器厂商意法半导体(纽约证券交易所代码:STM)发布一款低价位的硬件开发平台STM32 Discovery Kit,让开发人员以最简单的方式着手基于32位微控制器的应用开发,用户可从主要的第三方软件工具厂商Atollic、IAR和Keil处下载免费或低价的软件开发工具。 作为一个超低价位且简便的开发入门平台,STM32 Discovery Kit特别适用于STM32超值系列微控制器。这个配备USB接口的开发板可通过USB线直接连接个人电脑,开发板的安装使用浅显易懂。以24MHz、64引脚的STM32F100RBT6B超值系列微控制器为核心,开发板整合128KB的闪存和多路定时器、模拟外设和工业标准的串行接口
[单片机]
意法半导体推出低价位的硬件开发平台 <font color='red'>STM32</font> Discovery Kit
STM32万年历时钟调试经验(时间精度问题,断电RTC不持续运行)
最初调试STM32的万年历,使用的是内部的 LSI晶振作为RTC晶振来源,发现有两个问题: 第一:由于LSI晶振频率大约在40KHZ附近,实际上会在30~60KHZ之间波动,导致计时不准,基本上一个小时会有1分钟左右的偏差。 第二: 由于LSI内部晶振,在断电的时候,并不在后备供电区域范围内,而外接的3.3V电池连接到VBAT上,只给后备供电区域供电,导致系统断电后,电池只能维持后备RTC的计数,并没有给LSI晶振供电(见下图所示:),导致RTC总是保持在断电之前的时间。虽然重新上电后又可以继续运行。但是需要重新校准了 。 最后使用了外界的32.768KHZ的外部LSE晶振作为RTC晶振来源,调试过程中发现,反复修改,问题
[单片机]
<font color='red'>STM32</font>万年历时钟调试经验(时间精度问题,断电RTC不持续运行)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved