打印
[AT32F415]

AT32F415 官方库 USB HOST CDC 频繁进入usb_global_clear_interrupt(usbx, USB_OTG_HCH_FLAG);

[复制链接]
507|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AT32F415 官方库 USB HOST CDC 当调用这个函数:cdc_start_reception(&otg_core_struct_cdc.host, cdc_rx_buf, sizeof(cdc_rx_buf));   之后, 频繁进入usb_global_clear_interrupt(usbx, USB_OTG_HCH_FLAG); 中断次数每秒150998次。

微信截图_20250709180027.png (319.03 KB )

微信截图_20250709180027.png

使用特权

评论回复
沙发
tanleitanlei| | 2025-7-14 17:35 | 只看该作者
出现这种情况时,外部有没有连接cdc设备呢?

使用特权

评论回复
板凳
我是一颗胖蘑菇| | 2025-7-15 12:54 | 只看该作者
这个中断频率确实异常高,可能是USB驱动配置或者硬件连接问题。建议检查硬件连接是否正确,以及驱动配置是否合理。

使用特权

评论回复
地板
vhuanyou|  楼主 | 2025-7-16 14:46 | 只看该作者
我是一颗胖蘑菇 发表于 2025-7-15 12:54
这个中断频率确实异常高,可能是USB驱动配置或者硬件连接问题。建议检查硬件连接是否正确,以及驱动配置是 ...

如果不调用cdc_start_reception这个函数,那么中断次数1000次/秒,否则调用cdc_start_reception函数 16万次/秒。USB CDC双向通信速率高稳定功能一切正常,就是中断太频繁了。调试可以看到频繁进入这个中断标志usb_global_clear_interrupt(usbx, USB_OTG_HCH_FLAG);  功能上没问题,只不过频繁中断会导致系统开销增大,跑ROTS够呛

使用特权

评论回复
5
tanleitanlei| | 2025-7-16 17:59 | 只看该作者
vhuanyou 发表于 2025-7-16 14:46
如果不调用cdc_start_reception这个函数,那么中断次数1000次/秒,否则调用cdc_start_reception函数 16万 ...

这个demo在调用那句代码后,会一直不断地发送数据,进中断是正常的。这个只是一个demo,正常应用中是需要发送数据才发送,不会像这个demo一直不停的发。rtos应用中需要对硬件中断合理分配优先级

使用特权

评论回复
6
DuskHarvest| | 2025-7-16 18:55 | 只看该作者
先保证USB硬件是对的,能识别设备,然后在看下程序。

使用特权

评论回复
7
DuskHarvest| | 2025-7-16 18:55 | 只看该作者
先保证USB硬件是对的,能识别设备,然后在看下程序。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

69

帖子

1

粉丝