中断向量表问题..

[复制链接]
6182|3
 楼主| huilily 发表于 2007-5-25 17:59 | 显示全部楼层 |阅读模式
free_tech&nbsp;你好....可否介绍一下MC9S12DP..中断向量的初始化的过程..<br />刚写了一段小程序&nbsp;<br />可怎么&nbsp;也不能进&nbsp;中断服务程序...<br />希望能给予指点..谢谢!<br /><br />
FREETECH_S 发表于 2007-5-28 09:21 | 显示全部楼层

可以在头文件中找到向量表

可以在头文件中找到向量表,我的编译器里没有16位机的,这是QG8的<br />/****************&nbsp;interrupt&nbsp;vector&nbsp;table&nbsp;****************/<br />#define&nbsp;Vrti&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFD0<br />#define&nbsp;Reserved2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFD2<br />#define&nbsp;Reserved3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFD4<br />#define&nbsp;Vacmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFD6<br />#define&nbsp;Vadc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFD8<br />#define&nbsp;Vkeyboard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFDA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//interrrupt&nbsp;18<br />#define&nbsp;Viic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFDC<br />#define&nbsp;Vscitx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFDE<br />#define&nbsp;Vscirx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFE0<br />#define&nbsp;Vscierr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFE2<br />#define&nbsp;Vspi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFE4<br />#define&nbsp;Vmtim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFE6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//interrupt&nbsp;12<br />#define&nbsp;Reserved13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFE8<br />#define&nbsp;Reserved14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFEA<br />#define&nbsp;Reserved15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFEC<br />#define&nbsp;Reserved16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFEE<br />#define&nbsp;Vtpmovf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFF0<br />#define&nbsp;Vtpmch1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFF2<br />#define&nbsp;Vtpmch0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFF4<br />#define&nbsp;Reserved20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFF6<br />#define&nbsp;Vlvd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFF8<br />#define&nbsp;Virq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFFA<br />#define&nbsp;Vswi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFFC<br />#define&nbsp;Vreset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0000FFFE<br /><br />然后设置对相关的寄存器就可以了!
 楼主| huilily 发表于 2007-5-31 10:55 | 显示全部楼层

谢谢楼上的

主要是在S12&nbsp;DATASHEET里&nbsp;没有表明&nbsp;其中断向量号<br />可能会给初学者带来一些麻烦<br />从RESET&nbsp;为0&nbsp;算起&nbsp;以后递增<br /><br />中断的服务程序的写法有一下几种<br />1.interrupt关键字+中断向量号+isr函数<br />2.interrupt关键字+isr函数(isr在prm中VECTOR&nbsp;ADDRESS&nbsp;映射)<br />3.#pragma&nbsp;TRAP_PROC声明(isr在prm中VECTOR&nbsp;ADDRESS&nbsp;映射)<br />4.interrupt关键字+isr函数(isr在vector.c文件中定义函数指针数组&nbsp;映射)<br /><br />vector.c文件我只有在用PE的时候才能看到....<br />在别的论坛里学到的&nbsp;分享一下<br />这里人气是不高...
le062 发表于 2013-8-10 09:35 | 显示全部楼层
huilily 发表于 2007-5-31 10:55
主要是在S12&nbsp;DATASHEET里&nbsp;没有表明&nbsp;其中断向量号可能会给初学者带来一些麻烦从RESET&nbsp; ...

谢谢,参考了,正在学习飞思卡尔的中断部分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部