总结:CubeMx 生成的USB CDC程序 USB设备描述符请求失败 您所在的位置:网站首页 设备描述符失败 总结:CubeMx 生成的USB CDC程序 USB设备描述符请求失败

总结:CubeMx 生成的USB CDC程序 USB设备描述符请求失败

2024-07-16 14:47| 来源: 网络整理| 查看: 265

CubeMx 生成的USB CDC程序 WIN10系统 USB设备描述符请求失败一、说明二、cubeMX配置过程1、时钟树设置2、参数配置3、管脚配置4、中断配置5、生成代码,编译下载6、结果三、最后的最后神奇的结尾总结

一、说明

学习USB CDC通信,为了快速实现其功能,使用了cubeMX进行配置,可是万万没想到,配置完成后,下载到板子,Windows识别不了,真是一件令人费解的事情。。 这里记录一下使用过程。。。。。。

二、cubeMX配置过程 1、时钟树设置

2、参数配置

3、管脚配置

板子使用的USB接口为USB OTG HS,内部phy 默认IO配置

4、中断配置

5、生成代码,编译下载

6、结果

三、最后的最后

这样的实验结果也是让我很无奈,究竟是怎么回事????!!!!! 1、驱动没装? 官方驱动,肯定也是没毛病的。 https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-stm32102.html 2、配置有问题? 好像并没有 3、硬件存在问题? 验证过的,也没有; 4、时钟配置问题? 开玩笑,软件设置好的,自动生成,怎么会呢?! 5、堆太小? 改过的,不存在! 6、程序死在哪里了???? 的确像是死了!!

神奇的结尾

重新生成代码编译下载后,可以了。这让我百思不得其解啊。

对比下前后生成的代码,没有大的不同,仅仅是在前一个工程中加了一句话,如下: 好了,肯定跟这个函数有关系,想起printf就应当想起来重定向,加入重定向:

#include "stdio.h" extern UART_HandleTypeDef huart1; #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF); return ch; }

重新编译下载,ok,解决了

总结

调试真的很重要。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有