ST USB Host库USBH_HandleEnum()的一个bug
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相关推荐
- 由AFX_IDW_PANE_FIRST宏的含义分析界面库XTP的一个bug
Codejock的界面库Xtreme Toolkit Pro(XTP)是当前MFC开发中发展得比较成熟,应用也颇为广泛的几个界面库之一,其强大的界面美化功能以及简便的使用步骤深受不少MFC程序员的青睐 ...
- 记numpy高速封装库bottleneck的一个bug
博主在使用bottleneck的移动平均函数时,对0的平均得到了很接近0的非零值,这是一个官方已知的bug,但是还未修复. 这些值的产生可能是因为bottleneck在底层用C编写函数的时候,数据类型 ...
- STM32 之三 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序)
写在前面 目前,ST的USB驱动有两套,一套是早期的独立版USB驱动,官方培训文档中称为Legacy library:一套为针对其Cube 系列的驱动,根据芯片不同可能有区别,具体见对应芯片的Cube ...
- STM32 USB Host 同时连接多个设备样例(如鼠标和键盘)--原创
STM32 USB Host 同时连接多个设备样例(如鼠标和键盘) 在网上搜了很多都是USB Host单独连接鼠标或键盘的样例, 而当前很多无线鼠标键盘都是并到一个USB口上的, 也就是同一个USB有 ...
- 基于 CherryUSB 调试 dwc2 usb host 笔记
本文由RT-Thread论坛用户@sakumisu原创发布:https://club.rt-thread.org/ask/article/9c31ce71ead26c2b.html 背景 之前适配 D ...
- Android开发者指南(29) —— USB Host and Accessory
前言 本章内容为Android开发者指南的 USB章节,译为"USB主从设备",版本为Android 4.0 r1,翻译来自:"太阳火神的美丽人生",欢迎访问他 ...
- linux读写usb host,LINUX下USB1.1设备学习小记(3)_host与device
各位还记得"任何传输都是由host发起的"这句话么~ 在usb设备插入pc中到拔出usb设备,都是由host进行询问的 一个usb鼠标的工作流程可以表达如下: usb鼠标插入pc中 ...
- Android 系统使用USB OTG功能/打开USB Host API功能
步骤一:确定 Android 设备是否支持 USB Host 功能,具体可以通过以下步骤进行确认: 1. 查看手机或平板设备参数,或者直接联系厂家咨询: 2. 使用 UsbHostDiagnostic ...
- 网络摄像头转usb接口_Arduino + USB Host Sheild 实现USB鼠标转PS/2接口
制作缘由 公司内网只有PS/2接口,希望可以使用无线鼠标(貌似没有PS/2接口的).而那种USB转PS/2的转接头只是简单的连线,需要键盘或鼠标本身支持PS/2模式才可以正常工作,现代的USB鼠标接收 ...
最新文章
- 机票预定系统类图_电商系统延时任务机制源码分享
- php 简易 blog,PHP实现简易blog的制作
- Google Guava MultiMaps
- 碰到日期题就怕的我来写一道水题吧
- WINCE应用的UI实现方案
- 计算机主板知识,小白必看电脑主板知识扫盲,主板是什么?有什么用?
- 百度之星资格赛,hdu 4825 XOR SUM
- Google比Baidu快(发一个无聊的帖)
- Unix环境高级编程代码(实时更新)
- 示波器抓取RC663身份证的天线耦合波形
- How to Backdoor Federated Learning
- 2013年全球重要黑客大会时间及网址一览
- Android制作粒子爆炸特效
- squid代理介绍----传统代理
- 【运维心得】网络ID与网络IP的区别你知道吗?
- 掺铬钛酸锶Cr:SrTiO3晶体基片|NaCl<111>10x10x2.0mm1sp晶体基片|Al2O3蓝宝石晶体基片|齐岳生物
- 征信系统出新政 互联网金融与征信互补
- HTML5开源游戏,梦幻农场,连连看,开心消除类小游戏
- Released: Visual Studio 2008 Service Pack 1; .NET Framework 3.5 Service Pack 1
- SOLIDWORKS如何打开丢失零部件的装配体
热门文章
- CATIA.P3.V5-6.R2014 / DS CATIA P3 V5-6R2014 GA (SP1) with Documentation
- SQL注入关键词大全
- TIN处理之地形合并——SuperMap iDesktop
- VBA18随机函数RND例子(抽奖、指定几率、随机凑数)
- 排序算法(4)希尔排序
- 【2023复旦微电子提前批笔试题】~ 题目及参考答案
- 从零开始的腾讯云使用体验-4-搭建nginx+uwsgi+django
- 81章 老子1章到_【图片】《道德经》读书笔记(希望从第1章到81章善始善终)【老子吧】_百度贴吧...
- 算法驱动型的设计人工智能设计师
- 鹅鹅鹅知识点之-异常-002