根据义隆单片机TINYC使用手册翻译
中断c语言,关于中断的现场保护,由于英文手册还没有看懂,所以空来没有写出。 刘翔——2011年4月5日,未完待续 低级中断,中断保护程序 中断执行前对一些寄存器进行保护 Void intcall tcc_1(void) @ 0x03:low_int 0 中断服务程序 Void intcall tcc(void) @ int 0 中断向量数,是指MCU有几个中断向量,用标号将每种中断向量分开。 编译器根据中断向量数将中断保护程序和中断服务程序结合起来 全局中断向量IntVecIdx 先申明全局中断下向量IntVecIdx Extern int IntVecIdx;// IntVecIdx将占用地址0x10,用户将不能再在0x10定义变量,否则将冲突全局中断向量出错,且编译器不会有错误提示。 当硬件中断向量不止一个,根据中断向量跳转到相应的中断服务程序,用户可以屏蔽没有使用的中断向量。 Extern int IntVecIdx;//占用0x10 Void _intcall allint(void)@ int {case 0x04: ;break; Case—————— } Void _intcall tcc_1(void) @0x03:low_int 0 { } 硬件向量只有一个,用户不申明定义IntVecIdx,但程序里不能占用0x10。 Void intcall interrupt(void) @ int { } Void int_call interrupt_1(void) @ 0x08 low_int 0 { } pic内核下的单片机,由于指令字节长度为13位,所以程序寻址范围为1K,所以大于1K时引入程序页的概念。
|