在VxWorks里写关于mpc862的中断程序

有一点儿写一点儿:

 

关于mpc862的SIU的外部中断源

其实,程序比较简单,流程也比较简单。

在xworks里使用这些中断,只需要几个步骤:

首先,要自己编写一个中断服务程序。至于写中断服务程序有哪些限制,我在这里也不说了,windriver的参考文档里有说明。

然后,就是编写一个中断初始化程序。在这个程序里要完成的工作有:

     设置SIEL寄存器相应的中断位,选择中断触发方式;

     使用intConnect(),把写好的中断服务程序挂接到相应的中断向量上;

     使用intEnble(),使能相应的中断

 

实现这几步,中断应该是可以使用了。

 

要注意的是:

INUM_TO_IVEC()和IVEC_TO_INUM(),这两个宏定义只是在做类型转换;

中断号(interrupt number)和中断向量(vector),对于PowerPC来讲,VxWorks只是在类型上做了区别,实际值是相同的。

比如,对于外部中断IRQ7,它的中断号是(int)14,整型数值,而它的中断向量也是(FUNCPTR *)14,却是个函数指针。

 

另外,对于边沿触发的中断,SIPEND寄存器的中断响应值需要程序去复位;而

         对于电平触发的中断,SIPEND寄存器的中断响应值是SIU中断控制器自己复位的。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值