Board logo

标题: 请教freescale 8位单片机的中断问题 [打印本页]

作者: lei    时间: 2005-6-8 15:51     标题: 请教freescale 8位单片机的中断问题

当用C语言编程时,在编写中断程序函数的时候,常常要找到中断向量表,写入相应的中断号“interrupt 6 void timer1_overflow(void)”,可是为什么这里写的(如:“6”)要比实际中断表中查到的中断号大1呢?(查到的是“5”)
作者: 8808beter    时间: 2005-6-8 16:16

恐怕你看错了。
那是中断优先权。因为复位与IRQ的中断优先权都是0,所以后面的中断号都是中断优先权+1。
作者: lei    时间: 2005-6-8 17:02     标题: RE

那用C编程序的时候,怎么确定该写多少中断号呢?能否举一个例子,谢谢
作者: seuafu2005    时间: 2005-6-9 11:32

按地址来点比较准确。FFFE-FFFF,reset 向量编号为0, FFFC-FFFD,编号为1,FFFA-FFFB编号为2,依次类推。
一般都是datasheet给出的中断号+1。因为FFFC-FFFD是软件中断,不计入中断号,但是在CodeWarrior编译器里面,把它作为中断1。
作者: sampro    时间: 2005-6-9 17:28

可是为什么这里写的(如:“6”)要比实际中断表中查到的中断号大1呢?(查到的是“5”)
是因为前面有个SWI 中断




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0