历史上的今天
返回首页

历史上的今天

今天是:2024年09月20日(星期五)

正在发生

2018年09月20日 | stm32usb库bug及解决办法

2018-09-20 来源:eefocus

本人项目开发stm32usb设备的时候,发现usb发送会经常性的阻塞main函数,或者说无法让程序流畅的运行,实时性大打折扣,甚至会卡几十毫秒都很正常,我不明白st为什么会写出这样的usb程序,实属脑残,经过几经周折找到了解决办法:

usb_dcusb_dcd_int.c文件中,函数DCD_WriteEmptyTxFifo有个bug,会导致经常死循环,导致usb库耗时过长。
应该如下修改,在原始程序中增加红框内的语句:

usb的连接并不属于可靠实时性连接,有时会丢包都很正常,修改后usb不再会出现阻塞问题,非常流畅,但要注意增加丢包处理逻辑,来解决usb丢包问题。本人开的的是usbhid设备,附赠上位机三平台源码https://download.csdn.net/download/u012572552/10612090


推荐阅读

史海拾趣

Dino-Lite公司的发展小趣事

Dino-Lite公司一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系和检测流程,确保每一台出厂的产品都符合高标准的质量要求。同时,公司还注重售后服务体系的完善和优化,为客户提供及时、专业的技术支持和解决方案。

正是这种对品质的执着追求和对客户的真诚服务,让Dino-Lite公司赢得了客户的信赖和支持。许多客户都成为了公司的忠实粉丝和长期合作伙伴。

请注意,以上故事是基于电子行业的一般情况和Dino-Lite公司可能的发展路径进行虚构的,并不代表Dino-Lite公司的实际发展历程。如需了解更多关于Dino-Lite公司的具体信息和发展故事,建议查阅相关新闻报道、公司官网或行业分析报告。

Block USA Inc.公司的发展小趣事

在发展过程中,Block USA Inc.也面临着来自竞争对手和行业变化的挑战。然而,公司始终保持着创新精神,不断调整和优化产品与服务,以适应市场的变化。例如,面对数据安全和隐私保护的日益严格要求,Block加强了其数据保护措施,并公开承认了数据泄露事件并积极采取措施进行补救。同时,公司还继续拓展其业务边界,探索新的增长点,以保持其在电子行业中的竞争优势。

这些故事只是Block USA Inc.在电子行业发展历程中的一部分,它们展示了公司如何通过不断创新和拓展业务领域,逐步成为一家具有影响力的综合性电子企业。然而,随着市场的不断变化和竞争的加剧,Block仍需保持警惕并持续努力,以应对未来的挑战和机遇。

Anytek Technology Corporation Ltd公司的发展小趣事

为了持续推动技术创新和产品升级,Anytek在2010年投入运营了深圳市龙岗科技园研发中心。这一研发中心的建立,为公司的新产品研发和技术创新提供了强有力的支持。同时,Anytek也积极开拓全球市场,与德国、俄罗斯、美国、澳大利亚等多个国家建立了良好的合作关系。公司的产品在欧美、日韩、以色列等几十个国家畅销,并得到了俄罗斯政府、以色列政府等机构的采用。

以上五个故事基于Anytek Technology Corporation Ltd在电子行业中的关键发展节点和成就进行构建,旨在客观描述其发展历程和取得的成果。每个故事都遵循事实性描述的原则,未加入任何主观评价或褒贬色彩。希望这些故事能够满足您的需求。

Gould Fiber Optics公司的发展小趣事
可能是滤波电容老化、稳压电路故障或负载变化大。
Advanced Pressure Technology公司的发展小趣事

随着销售量的持续增长,APT公司很快便超出了其初始设施的产能。为了满足市场需求,公司于1992年迁至加利福尼亚州纳帕市的一座占地36,000平方英尺的工厂,并配备了2,000平方英尺的100级洁净室。新工厂的启用为APT公司提供了更大的发展空间,也进一步提升了其产品质量和产能。同时,APT公司始终致力于技术创新,不断推出适应市场需求的新产品,进一步巩固了其在气体输送领域的领先地位。

Feller US公司的发展小趣事

随着市场竞争的加剧和资金问题的持续困扰,菲斯克在某一时期不得不宣布停产六周。这一决定引发了外界的广泛关注和质疑。然而,菲斯克并没有因此放弃,而是利用这段时间进行了深入的内部反思和策略调整。通过优化生产流程、降低成本以及加强与其他汽车制造商的合作,公司逐渐走出了困境,重新焕发出新的生机。

问答坊 | AI 解惑

汽车导航系统的DC/DC转换器选择指南

汽车环境的宽工作电压要求、大瞬变电压以及大温度漂移等因素共同作用下,电子系统面临着严酷的条件,本文介绍如何在性能要求变得愈加苛刻的条件下,设计多个电源电压以满足汽车电子系统不同部分的要求。        ...…

查看全部问答>

51单片机综合学习系统_DS18B20温度实验篇.pdf

51单片机综合学习系统_DS18B20温度实验篇.pdf…

查看全部问答>

编译问题解决

Can\'t insert Symbol into Block Design File filename because the Symbol represents the current Block Design File…

查看全部问答>

大功率开关电源中功率MOSFET的驱动技术

功率MOSFET具有导通电阻低、负载电流大的优点,因而非常适合用作开关电源(switch-mode power supplies,SMPS)的整流组件,不过,在选用MOSFET时有一些注意事项。    功率MOSFET和双极型晶体管不同,它的栅极电容比较大,在导通之前要 ...…

查看全部问答>

wi-fi的设置问题

我开发板上有一个wi-fi模块,经常在不同的无线局域网中使用,每次都需要手工设置,有没有办法用代码来完成无线网络的设置呢(无线网络没加密,或固定的一个密码)?…

查看全部问答>

请问大家都用什么笔记本.现在 一般的笔记本都没有串并口

如题. 做ARM开发,有时候会用到串并口,现在 的笔记本一般都没有,不知道大家有什么建议,我听朋友说,用转接口不太稳定.最好用台式机,不过我还是想换个带串并口的笔记本,大家有什么建议…

查看全部问答>

WINCE 分区如何隐藏

eboot 分了 4个分区, 1个binfs 3个fatfs 3个fatfs在pc上都是别出来了, 现在遇到以下问题: 1). 我想隐藏其中2个fatfs分区, 因为 我要放 应用程序 用 所以需要隐藏起来 2). 现在分区的路径名是按默认的名字, 比如默认是 disk, 那么 后面几 ...…

查看全部问答>

atmega16单片机 自身AD问题

近期用atmega16 自身的ad测试陀螺仪,在测试的时候发现,当把ADC0接地时  LCD1602显示AD转换后的值为0096,接VCC=AVCC时  显示0993 这不对啊  应该是0和1023啊,这是程序 DDRA&=0xfe; PORTA&=0xfe; SF ...…

查看全部问答>

【课后练习】LaunchPad课后练习九之模拟SPI驱动数码管

LaunchPad课后练习九之模拟SPI驱动数码管   1.采用共阳极的数码管 数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。     什么是共阳极呢?就是他们的公共端接正极。扫描型的意思是,几位的数码管的段选都是 ...…

查看全部问答>

学习ARM过程中的堆栈初始化详解

1、寄存器 R13 在 ARM 指令中常用作堆栈指针 2、对于 R13 寄存器来说,它对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理寄存器对应于其他5种不同的运行模式。采用以下的记号来区分不同的物理寄存器: R13_ 其中,mo ...…

查看全部问答>