找回密码
 立即注册
查看: 226|回复: 11

USB中断矢量地址问题

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-03-21 11:14:28

13

主题

21

回帖

211

积分

中级会员

积分
211
发表于 2025-3-4 11:26:28 | 显示全部楼层 |阅读模式
在数据手册的13章中断系统中,13.4.1中断使能寄存器,介绍USB中断的中断控制位是IE2.7(EUSB),当该位 =1,允许USB中断。还有13.3表格中说明USB中断的矢量地址:FF00CBH,C51中断号:25。

但是,在数据手册27.5 USB范例程序中,UsbInit()初始化程序没用对EUSB置位,在中断服务程序“void usb_isr() interrupt 22”中用的中断号是“22”,这里没理解,请大佬解惑。
  1. void UsbInit()
  2. {
  3. P3M0 = 0x00;
  4. P3M1 = 0x03;
  5. P_SW2 |= 0x80;
  6. PLLCR = (1<<7)|(0<<5)|(1<<3)|(1<<1); // enable PLL
  7. DelayXns(100);
  8. CLKSEL = 0x02; //选择系统时钟源为内部 pll 输出
  9. CLKDIV = 0;
  10. P_SW2 &= ~0x80;
  11. USBCLK = 0x90;
  12. USBCON = 0x90;
  13. WriteReg(FADDR, 0x00);
  14. WriteReg(POWER, 0x08);
  15. WriteReg(INTRIN1E, 0x3f);
  16. WriteReg(INTROUT1E, 0x3f);
  17. WriteReg(INTRUSBE, 0x00);
  18. WriteReg(POWER, 0x01);
  19. Ep0Stage.bStage = EPIDLE;
  20. }
复制代码




回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-4 11:28:00 | 显示全部楼层
根据您提供的信息,USB中断的中断控制位确实为IE2.7(EUSB),且中断矢量地址为FF00CBH,C51中断号为25。然而,在范例程序中,中断服务程序使用了中断号22,这与数据手册中的描述不符。可能的原因有以下几点:

1. **芯片型号差异**:不同型号的芯片可能存在中断号分配上的差异,建议确认所使用的芯片型号是否与数据手册一致。

2. **编译器优化**:编译器可能对中断号进行了优化或重新映射,导致实际使用的中断号与手册中的描述不同。

3. **示例代码错误**:示例代码可能存在笔误或错误,建议与芯片厂商确认示例代码的正确性。

综上所述,建议您首先确认芯片型号和编译器设置,若仍无法解决,可联系芯片厂商获取技术支持。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-4 11:33:00 | 显示全部楼层
关于USB中断矢量地址与中断号不一致的问题,可能是由于手册与示例程序的版本差异或特定应用场景下的配置调整所致。手册中USB中断的矢量地址为FF00CBH,中断号为25,而示例程序中使用的中断号为22,这表明可能存在以下几种情况:

1. **中断号映射不同**:不同型号或版本的芯片可能在中断号与矢量地址的映射上存在差异,需确认所使用的芯片型号与手册版本是否一致。

2. **中断优先级调整**:示例程序可能出于优先级或其他系统需求,将USB中断映射到中断号22,而非默认的25。

3. **初始化遗漏**:示例程序未对“EUSB”置位,可能是为了在特定条件下手动控制中断使能,或在后续代码中通过其他方式实现。

建议查阅最新版芯片手册,确认中断号映射,并在代码中补充“EUSB”置位操作,以确保中断功能正常启用。如有疑问,可联系芯片技术支持获取进一步指导。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-3-4 12:31:32 | 显示全部楼层
USB中断是中断25
中断22可能是借用
截图202503041230516698.jpg


DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-03-21 11:14:28

13

主题

21

回帖

211

积分

中级会员

积分
211
发表于 2025-3-5 10:11:19 | 显示全部楼层
这个问题还需要大佬解惑

点评

我们目前所有有USB功能的芯片,USB中断号都是25 最新的数据手册中的范例中,USB的中断号也都是使用的25 如果手册有使用22号中断,一定是笔误 不知您看的是哪个系列的手册,手册的更新时间是什么时候?  详情 回复 发表于 2025-3-5 17:37
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-30 14:38:57

25

主题

977

回帖

3599

积分

超级版主

积分
3599
发表于 2025-3-5 17:37:31 | 显示全部楼层
fxg2*** 发表于 2025-3-5 10:11
这个问题还需要大佬解惑

我们目前所有有USB功能的芯片,USB中断号都是25
最新的数据手册中的范例中,USB的中断号也都是使用的25

如果手册有使用22号中断,一定是笔误
不知您看的是哪个系列的手册,手册的更新时间是什么时候?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-03-21 11:14:28

13

主题

21

回帖

211

积分

中级会员

积分
211
发表于 2025-3-7 09:44:40 | 显示全部楼层
zh*** 发表于 2025-3-5 17:37
我们目前所有有USB功能的芯片,USB中断号都是25
最新的数据手册中的范例中,USB的中断号也都是使用的25

谢谢,看的是车规 AEC-Q100 Grade1 MCU 设计公司,STC32G 系列单片机,资料更新日期:2024/4/15
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-3-7 17:24:43 | 显示全部楼层
你截图发上来,大家帮看下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-03-21 11:14:28

13

主题

21

回帖

211

积分

中级会员

积分
211
发表于 2025-3-9 22:29:20 | 显示全部楼层
这是资料截图
截图202503092229058633.jpg
截图202503092229184908.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2025-3-10 00:00:22 | 显示全部楼层
截图202503100000195668.jpg

这个例程有错

截图202503100002029408.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:35 , Processed in 0.162859 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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