STM32F746ZG USB 驱动不正常 前言 某客户的产品,需要评估NUCLEO-F746ZG板上的USB功能,使用cube Version 4.15.1 版本工具生成工程,但在win7和win10上遇到驱动不正确。/ e% J4 K, Y0 O! k% u & [! S+ m3 o3 I4 W* K6 T; d/ v. p' u 使用32F411 或F407时枚举及驱动,都很正常 一、 测试 I9 ?0 D( `& g1 e 1.1. IDE 环境/ W' V( c# A" z3 ^, U4 _" j% Y5 t Embeded workbench for ARM v7.30 1.2. 修改堆栈大小8 W8 R& C; a6 B& c. I, { 原heap为0x200,调整到400时可正常使用,如下图: PC机上正常,如下图: 1.3. 修改编译选项: p+ S1 q# a5 `3 ~( x* \% s 在IAR编译选项中,选择检查heap,如下图: 编译执行中发现在USB_CDC.c 文件中第517行分配内存时超过0x200大小,如下图: 6 K6 V# T0 U% v 二、 结论 应该是驱动代码占用了堆空间不够导致的程序不正常。9 u5 o8 n! c8 k( o( B& R+ u Q 文档下载地址:, ~" f! ^& _. i6 ? https://www.stmcu.org.cn/document/list/index/category-10385 r: q( |+ @+ r6 u # E# h/ A" I, a0 |# T z6 W9 g 实战经验汇总: https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html |
最全USB HID开发资料,悉心整理一个月,亲自测试
USB Audio设计与实现
【MCU实战经验】+STM32F107的USB使用
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
基于STM32F746G-Discover的扩展电路板
【合集】STM32F7教程、资料大集合
F769 Discovery实现播放U盘音乐的播放器
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据