发个STM32的USB库函数一个bug的解决方法

2019-07-20 08:00发布


声明一:
本资料是我在别处发现的,非我原创;
但我已经使用一年多了,确实有效。

声明二:
希望各位不要传播到A莫那里,自己用没问题!

STM32的USB库函数有bug。
在使用USB虚拟串口的时候,如果上位机软件没有打开(或者类似情况下),
下位机CPU会频繁进入USB库的中断,非常频繁,以至于不能正常执行其他操作,和死机基本相同。
原发帖人解决了这个问题,
我也遇到完全相同的问题,用这个解决方法同样有效。


ps:这个方法被本坛另一位网友验证了,参见    http://openedv.com/posts/list/0/64138.htm#365570



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
27条回答
xuande
1楼-- · 2019-07-20 10:26

原帖如下:

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



jermy_z
2楼-- · 2019-07-20 11:56
 精彩回答 2  元偷偷看……
tony129
3楼-- · 2019-07-20 12:56
 精彩回答 2  元偷偷看……
987695640
4楼-- · 2019-07-20 14:15
好东西  必须收藏
xuande
5楼-- · 2019-07-20 17:20
好消息,这个方法被本坛另一位网友验证了,有效。

http://openedv.com/posts/list/64138.htm#365570
beyond696
6楼-- · 2019-07-20 18:39
 精彩回答 2  元偷偷看……

一周热门 更多>