USBH_HandleEnum()里定义了一个64字节的局部数组Local_Buffer[ ],并在获取厂商描述符、产品描述符和序列号的时候使用。但是使用的时候却认为最大可以用到0xff个字节。如果U盘的这3个字符串中任何一个超过64字节就会导致HardFault(我遇到一个U盘的序列号是120字节)。解决方法是把下图中3个0xff改为63,或者把Local_Buffer的容量从64改为256.

static USBH_Status USBH_HandleEnum(USB_OTG_CORE_HANDLE *pdev, USBH_HOST *phost)
{USBH_Status Status = USBH_BUSY;uint8_t Local_Buffer[64];. . .case ENUM_GET_MFC_STRING_DESC:  if (phost->device_prop.Dev_Desc.iManufacturer != 0){ /* Check that Manufacturer String is available */if ( USBH_Get_StringDesc(pdev,phost,phost->device_prop.Dev_Desc.iManufacturer, Local_Buffer , 0xff) == USBH_OK). . .case ENUM_GET_PRODUCT_STRING_DESC:   if (phost->device_prop.Dev_Desc.iProduct != 0){ /* Check that Product string is available */if ( USBH_Get_StringDesc(pdev,phost,phost->device_prop.Dev_Desc.iProduct, Local_Buffer, 0xff) == USBH_OK). . .case ENUM_GET_SERIALNUM_STRING_DESC:   if (phost->device_prop.Dev_Desc.iSerialNumber != 0){ /* Check that Serial number string is available */    if ( USBH_Get_StringDesc(pdev, phost,phost->device_prop.Dev_Desc.iSerialNumber, Local_Buffer, 0xff) == USBH_OK). . .
}

ST USB Host库USBH_HandleEnum()的一个bug相关推荐

  1. 由AFX_IDW_PANE_FIRST宏的含义分析界面库XTP的一个bug

    Codejock的界面库Xtreme Toolkit Pro(XTP)是当前MFC开发中发展得比较成熟,应用也颇为广泛的几个界面库之一,其强大的界面美化功能以及简便的使用步骤深受不少MFC程序员的青睐 ...

  2. 记numpy高速封装库bottleneck的一个bug

    博主在使用bottleneck的移动平均函数时,对0的平均得到了很接近0的非零值,这是一个官方已知的bug,但是还未修复. 这些值的产生可能是因为bottleneck在底层用C编写函数的时候,数据类型 ...

  3. STM32 之三 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序)

    写在前面 目前,ST的USB驱动有两套,一套是早期的独立版USB驱动,官方培训文档中称为Legacy library:一套为针对其Cube 系列的驱动,根据芯片不同可能有区别,具体见对应芯片的Cube ...

  4. STM32 USB Host 同时连接多个设备样例(如鼠标和键盘)--原创

    STM32 USB Host 同时连接多个设备样例(如鼠标和键盘) 在网上搜了很多都是USB Host单独连接鼠标或键盘的样例, 而当前很多无线鼠标键盘都是并到一个USB口上的, 也就是同一个USB有 ...

  5. 基于 CherryUSB 调试 dwc2 usb host 笔记

    本文由RT-Thread论坛用户@sakumisu原创发布:https://club.rt-thread.org/ask/article/9c31ce71ead26c2b.html 背景 之前适配 D ...

  6. Android开发者指南(29) —— USB Host and Accessory

    前言 本章内容为Android开发者指南的 USB章节,译为"USB主从设备",版本为Android 4.0 r1,翻译来自:"太阳火神的美丽人生",欢迎访问他 ...

  7. linux读写usb host,LINUX下USB1.1设备学习小记(3)_host与device

    各位还记得"任何传输都是由host发起的"这句话么~ 在usb设备插入pc中到拔出usb设备,都是由host进行询问的 一个usb鼠标的工作流程可以表达如下: usb鼠标插入pc中 ...

  8. Android 系统使用USB OTG功能/打开USB Host API功能

    步骤一:确定 Android 设备是否支持 USB Host 功能,具体可以通过以下步骤进行确认: 1. 查看手机或平板设备参数,或者直接联系厂家咨询: 2. 使用 UsbHostDiagnostic ...

  9. 网络摄像头转usb接口_Arduino + USB Host Sheild 实现USB鼠标转PS/2接口

    制作缘由 公司内网只有PS/2接口,希望可以使用无线鼠标(貌似没有PS/2接口的).而那种USB转PS/2的转接头只是简单的连线,需要键盘或鼠标本身支持PS/2模式才可以正常工作,现代的USB鼠标接收 ...

最新文章

  1. 机票预定系统类图_电商系统延时任务机制源码分享
  2. php 简易 blog,PHP实现简易blog的制作
  3. Google Guava MultiMaps
  4. 碰到日期题就怕的我来写一道水题吧
  5. WINCE应用的UI实现方案
  6. 计算机主板知识,小白必看电脑主板知识扫盲,主板是什么?有什么用?
  7. 百度之星资格赛,hdu 4825 XOR SUM
  8. Google比Baidu快(发一个无聊的帖)
  9. Unix环境高级编程代码(实时更新)
  10. 示波器抓取RC663身份证的天线耦合波形
  11. How to Backdoor Federated Learning
  12. 2013年全球重要黑客大会时间及网址一览
  13. Android制作粒子爆炸特效
  14. squid代理介绍----传统代理
  15. 【运维心得】网络ID与网络IP的区别你知道吗?
  16. 掺铬钛酸锶Cr:SrTiO3晶体基片|NaCl<111>10x10x2.0mm1sp晶体基片|Al2O3蓝宝石晶体基片|齐岳生物
  17. 征信系统出新政 互联网金融与征信互补
  18. HTML5开源游戏,梦幻农场,连连看,开心消除类小游戏
  19. Released: Visual Studio 2008 Service Pack 1; .NET Framework 3.5 Service Pack 1
  20. SOLIDWORKS如何打开丢失零部件的装配体

热门文章

  1. CATIA.P3.V5-6.R2014 / DS CATIA P3 V5-6R2014 GA (SP1) with Documentation
  2. SQL注入关键词大全
  3. TIN处理之地形合并——SuperMap iDesktop
  4. VBA18随机函数RND例子(抽奖、指定几率、随机凑数)
  5. 排序算法(4)希尔排序
  6. 【2023复旦微电子提前批笔试题】~ 题目及参考答案
  7. 从零开始的腾讯云使用体验-4-搭建nginx+uwsgi+django
  8. 81章 老子1章到_【图片】《道德经》读书笔记(希望从第1章到81章善始善终)【老子吧】_百度贴吧...
  9. 算法驱动型的设计人工智能设计师
  10. 鹅鹅鹅知识点之-异常-002