xiao11fang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-20
  • 最后登录2004-06-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1895回复:3

请教一段有关中断的DSP的程序

楼主#
更多 发布于:2004-06-01 09:51

本人看到一段和中断有关的程序(对VC33的),其中有一句话看不懂,希望有人指教一下:
#define VECS_EXINT0 *(int *)0x809fc1 /*设置中断向量入口*/
interrupt void adfifo_int(void);/*声明中断服务程序*/
下面这句就不懂了:
VECS_EXINT0= 0x60000000|(unsigned)adfifo_int;
adfifo_int不是中断服务程序的名字吗,怎么感觉这里成了变量了?
xiao11fang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-20
  • 最后登录2004-06-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-06-03 09:01
没人来应,这句程序是我从瑞泰的程序中看到的,哎,来个大虾指点一下吗!
lyingying
驱动牛犊
驱动牛犊
  • 注册日期2003-03-20
  • 最后登录2007-09-12
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-30 10:04
variable adfifo_int is the entry address of function adfifo_int()
lllggg
驱动小牛
驱动小牛
  • 注册日期2002-05-04
  • 最后登录2007-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-08 17:07
你用的是C33吧? 这是CCS3X的一个小BUG,编译程序只在中断陷阱地址处安装中断向量,中断向量是一个地址,不是指令;而C33中断产生后直接跳转到中断陷阱地址处执行,用0x60000000与该中断向量或之后,就变成了一个跳转指令,中断产生时该跳转指令被执行,从而程序跳到中断函数处执行。这和通常的处理器的中断处理稍有差异。
(DEEP + BROAD + SIMPLE) & delicate
游客

返回顶部