首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于中断

这个codewarrior的资料找起来真是麻烦, 论坛里搜索了一圈,也没看到一个关于中断地完整的例子。  

谁能写一个关于中断地完整的例子,就以PTH1口上升沿触发为例好了!
const tIsrFunc _vect[] @0xFFCC = {  /* Interrupt table */
        UnimplementedISR,         /* vector 25: RT */
        UnimplementedISR,         /* vector 24: IIC */
        UnimplementedISR,         /* vector 23: ATD */
        UnimplementedISR,                                  /* vector 22: KBI */
        UnimplementedISR,                                  /* vector 21: SCI2TX */
        UnimplementedISR,                            /* vector 20: SCI2RX */
        UnimplementedISR,         /* vector 19: SCI2ER */
        UnimplementedISR,         /* vector 18: SCI1TX */
        UnimplementedISR,                            /* vector 17: SCI1RX */
        UnimplementedISR,         /* vector 16: SCI1ER */
        UnimplementedISR,         /* vector 15: SPI */
        UnimplementedISR,                            /* vector 14: TPM2OF */
        UnimplementedISR,         /* vector 13: TPM2C4 */
        UnimplementedISR,         /* vector 12: TPM2C3 */
        UnimplementedISR,         /* vector 11: TPM2C2 */
        UnimplementedISR,         /* vector 10: TPM2C1 */
        UnimplementedISR,         /* vector 09: TPM2C0 */
        UnimplementedISR,         /* vector 08: TPM1OF */
        UnimplementedISR,         /* vector 07: TPM1C2 */
        UnimplementedISR,         /* vector 06: TPM1C1 */
        UnimplementedISR,                /* vector 05: TPM1C0 */
        UnimplementedISR,         /* vector 04: ICG */
        UnimplementedISR,         /* vector 03: Low Voltage Detect */
        irq_isr,                  /* vector 02: IRQ pin */
        UnimplementedISR          /* vector 01: SWI */
        /*_Startup, by default in library*/ /* Reset vector */
热爱电子技术,愿交天下好友
不同芯片的中断编号可能略有不同。根据各芯片具体的数据手册即可查找。一般中断号根据中断矢量的地址,从RESET开始排序,RESET的中断号为0,依次递加。要注意有时中间有未用的矢量地址,在算中断号时也要算进去。
海纳百川  有容乃大

关于中断

========
最常用的方法是在prm文件中定义
一般生成的prm文件中,有这样一句
VECTOR 0 _Startup;

假定你的Timer中断编号是第六
那么你可以在上面所写的程序上添加这样一句:
VECTOR 6 Timer1_ISR

在主程序中定义interrupt Timer1_ISR就可以了
========


请问 中断编号从哪里查?

另外,胡乱写了一个中断程序,出现这个连接错误,什么原因?
initializing of vector IT_routine failed beacuse of over- or underflow vector value




[此贴子已经被作者于2005-5-13 11:41:54编辑过]

[此贴子已经被作者于2005-5-13 14:25:14编辑过]

返回列表