请问F460初始化USB时间为什么这么久?
看到初始化代码里加了好多阻塞的延时,如何更好修改这些延时?还有个问题,软件根据不同条件,需要将USB 在HID或CDC之间切换,由什么好办法吗?
使用串口输出,查看一下配置usb是否需要很长的时间。 初始化usb的是不是进行其他的操作了? 这个没有遇到过,之前做 stm32的时候usb初始化的速度可以的 你设置的时钟是多大的呢? 看来不是我一个人碰到这个问题。老的2.0.0版本的USB延时使用软件循环延时,感觉是flash跑的太慢了。3.0.0版本的库文件使用滴答定时器来延时,我按照3.0.0的方法把原先的USB延时函数改成滴答定时器,基本是无感了,原先要3,4秒的样子。 楼上说的没错,就是USB使用了软件循环延时,导致时间很长;
我这边因为时特定条件下才需要启用初始化USB,所以在循环中使用时间片分步执行,等到最后初始化完在退出初始化程序,需要修改库里面的USB初始化代码 软件延时确实效率很低下 把延时去掉呗,用定时器延时 你可以了解一下,这些延时的作用是什么 可以想想改改程序嘛,把初始化的delay缩小点 属实会很长,如果有delay的话 你把延时都去掉试试,看看能否正常使用呗 切换的话,可以delay一下,这个最低时间是多少,自己试试呗 多调试呗,没啥好办法 切换也不需要这么久的吧,我觉得配置一下就好了啊 这个通过修改描述符就行了 把延时去了,估计能好点
页:
[1]