硬汉嵌入式论坛

 找回密码
 立即注册
查看: 369|回复: 2
收起左侧

AT32 USB HOST CDC 连接 AT32 USB Device CDC 中断次数每秒16万次!

[复制链接]

68

主题

63

回帖

267

积分

高级会员

积分
267
发表于 2025-7-9 17:34:10 | 显示全部楼层 |阅读模式
本帖最后由 vzhaodan 于 2025-7-9 18:10 编辑

官方模板例程 USB HOST CDC 的USB中断每秒16万次不适合用在ROTS中,在void OTGFS1_IRQHandler(void)中断通过一个u32变量中进行计数累加所示。

如果不调用cdc_start_reception这个函数,那么中断次数1000次/秒,否则调用cdc_start_reception函数 16万次/秒。USB CDC双向通信速率高稳定功能一切正常,就是中断太频繁了,但如果跑了RTOS频繁中断导致系统开销增大。


调试可以看到频繁进入这个中断标志usb_global_clear_interrupt(usbx, USB_OTG_HCH_FLAG);
微信截图_20250709180027.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-7-10 08:48:13 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

8

主题

31

回帖

55

积分

初级会员

积分
55
发表于 2025-7-17 12:58:06 | 显示全部楼层
这个demo在调用那句代码后,会一直不断地发送数据,进中断是正常的。
这个只是一个demo,正常应用中是需要发送数据才发送,不会像这个demo一直不停的发。rtos应用中需要对硬件中断合理分配优先级
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:49 , Processed in 0.041471 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表