WT418995874 发表于 2022-10-18 08:56

请问F460初始化USB时间为什么这么久?

看到初始化代码里加了好多阻塞的延时,如何更好修改这些延时?

还有个问题,软件根据不同条件,需要将USB 在HID或CDC之间切换,由什么好办法吗?

lzbf 发表于 2022-11-5 11:57

使用串口输出,查看一下配置usb是否需要很长的时间。

sesefadou 发表于 2022-11-5 12:06

初始化usb的是不是进行其他的操作了?

sdlls 发表于 2022-11-5 13:51

这个没有遇到过,之前做 stm32的时候usb初始化的速度可以的

febgxu 发表于 2022-11-5 14:17

你设置的时钟是多大的呢?            

sagade 发表于 2022-11-5 16:43

看来不是我一个人碰到这个问题。老的2.0.0版本的USB延时使用软件循环延时,感觉是flash跑的太慢了。3.0.0版本的库文件使用滴答定时器来延时,我按照3.0.0的方法把原先的USB延时函数改成滴答定时器,基本是无感了,原先要3,4秒的样子。

WT418995874 发表于 2022-11-7 15:52

楼上说的没错,就是USB使用了软件循环延时,导致时间很长;
我这边因为时特定条件下才需要启用初始化USB,所以在循环中使用时间片分步执行,等到最后初始化完在退出初始化程序,需要修改库里面的USB初始化代码

weifeng90 发表于 2022-11-7 20:35

软件延时确实效率很低下

cen9ce 发表于 2023-2-1 12:42

把延时去掉呗,用定时器延时

b5z1giu 发表于 2023-2-1 13:50

你可以了解一下,这些延时的作用是什么

g0d5xs 发表于 2023-2-1 15:03

可以想想改改程序嘛,把初始化的delay缩小点

y1n9an 发表于 2023-2-1 16:08

属实会很长,如果有delay的话

su1yirg 发表于 2023-2-1 17:09

你把延时都去掉试试,看看能否正常使用呗

tax2r6c 发表于 2023-2-1 18:21

切换的话,可以delay一下,这个最低时间是多少,自己试试呗

ex7s4 发表于 2023-2-5 08:07

多调试呗,没啥好办法

suw12q 发表于 2023-2-5 09:04

切换也不需要这么久的吧,我觉得配置一下就好了啊

lamanius 发表于 2023-2-5 10:16

这个通过修改描述符就行了

l1uyn9b 发表于 2023-2-5 12:47

把延时去了,估计能好点
页: [1]
查看完整版本: 请问F460初始化USB时间为什么这么久?