历史上的今天
今天是:2025年07月29日(星期二)
2019年07月29日 | stm32f407 usb cdc设备无法启动问题
2019-07-29 来源:eefocus
最新要做一个项目,要求基于STM32F407实现USB CDC设备,首先想到的就是直接用STM32CUBEMX工具来生成,OK,话不多说,直接上过程:
RCC配置:

Sys配置

USB_OTG_FS配置:

USB_DEVICE配置:

时钟配置

然后生成代码并编译,烧录后发现设置有点问题:


出现上面的问题显然是不能正常命使用的,曾以为是驱动的问题,重新去官网下载最新驱动并安装后,结果还是一样,换个开发板工程重新置,也是一样的结果!由是定位为是程序问题,以为是HAL库版本问题,试过用不同的HAL库版本重新生成代码(1.21.0/1.23.0/1.24.0)最后结果还是一样!!排除了库版本的问题,重新回来软件工程醒配置,查看堆和栈的大小,如下图:

从上面的醒配置来看桟的大小应该是够了,但堆有点好,试着加大一下堆的大小,从200变成400后重新生成代码,烧录后看效果:

此时设备已变成正常,OK问题解决!!通过上面的例子,我们可以在类似的工程中适当加大一下堆桟的大小!!
史海拾趣
|
编者按:近年来,模拟芯片公司并没有因为数字时代的到来而 踯躅不前,相反,随着数字产品对模拟芯片的需求,模拟芯片得到了 大规模应用。便携产品、手机、平板电视和汽车电子等四大类产品成 为模拟芯片应用的主战场。 特邀嘉宾 ...… 查看全部问答> |
|
Windows Embedded Compact 7安装手记 新一代的Windows CE被命名为Windows Embedded Compact 7,发布于2010年6月1日的COMPUTEX TAIPEI国际电脑展。在微软内部的代号是Chelan,微软早在2008年就开始在北京招兵买马,2010年终于公开了一个Release : Public Community Technology Preview ...… 查看全部问答> |
|
在vxWorks系统中,我想使用定时器实现200us到1ms的定时器,就是说定时器的时间间隔可变,从200us到1ms可设置,使用辅助时钟只有几个时间间隔可选,不能实现200us到1ms的可变范围,不知还有什么好的办法没有? &nbs ...… 查看全部问答> |
|
是否要通过寄存器命令来控制FLASH? oneNand flah的寄存器是怎么分布的?比如说base_address是0x00,地址寄存器是0x00+4这样的。 另外,我看了DATASHEET,里面指示了寄存器地址,比如manufacturer ID寄存器地址是0xf000,这是个什么地址?… 查看全部问答> |
|
近日才学驱动 在build环境下编译驱动一直不成功,请大家帮忙看一下 C:\\WINDDK\\2600>build -0 BUILD: Object root set to: ==> objchk BUILD: Adding /Y to COPYCMD so xcopy ops won\'t hang. BUILD: /i switch ignored BUILD: Compile a ...… 查看全部问答> |




