[AT32F435] 例程USBH HID 移植出现的问题

[复制链接]
2020|3
Rxxkles 发表于 2025-9-2 22:11 | 显示全部楼层 |阅读模式
本帖最后由 Rxxkles 于 2025-9-2 22:13 编辑

本人无USB应用的编程经验,今天尝试将例程中的USBH HID应用移植到现有的项目中时遇到了一些问题。
  1. while(1)
  2. {
  3.   usbh_loop_handler(&otg_core_struct.host);
  4. }

将该段代码改写成rt-thread的线程
  1. while(1)
  2. {
  3.   rt_thread_delay(50);
  4.   usbh_loop_handler(&otg_core_struct.host);
  5. }

并且将 usb_conf.h 中的 void usb_delay_ms(uint32_t ms); 重定义为 #define usb_delay_ms(ms) rt_thread_delay(ms)

线程中加入rt_thread_delay(50);,串口无法输出键盘输入的字符;
rt_thread_delay(50);注释之后串口就可以正常输出键盘输入的内容。
请问这是为什么。
穷得响叮当侠 发表于 2025-9-6 20:46 | 显示全部楼层
这个问题可能是由于rt_thread_delay(50)导致的线程调度问题
低语之树 发表于 2025-9-9 13:55 | 显示全部楼层
rt_thread_delay(50) 操作系统的延时有好几个,看下哪个不是阻塞的
破晓战神 发表于 2025-9-10 18:33 | 显示全部楼层
你的情况可能是因为线程延迟影响了USB设备的轮询频率
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部