PIC 16F684 单片机中断处理
-
19-09-2019 - |
题
几周前,我刚刚完成了大学的微处理器课程,在那里我们只进行汇编编程。我们学到了很多(恕我直言)关于中断的知识。
这是我的问题:我正在使用 16F684 的 HiTech 编译器进行 C 编程,在数据表部分讨论中断(PIC 16F684 数据表 第12.4节)它说程序将转到中断向量0x0004。使用我的微处理器类中的程序集,我们只需设置一个指向该地址的 .org 语句,并在下面编写所需的程序集,这样当中断发生时,它将跳转到那里并运行。我可以在汇编中弄清楚这一点,但是当我用 C 编程时,我不相信我可以控制程序片段在内存中的位置,这会带来问题。我不知道如何在 C 中的中断处放置命令。
如果我需要澄清,请告诉我!
解决方案
此常见由Microchip 具有关于使用下高科技型BC中断一些信息
其他提示
高科技型Ç扩展了C语言与interrupt
功能类型:
void interrupt my_interrupt_handler (void) {
handle_interrupts_here();
}
您真的应该得到的编译器的手册。相信对于PIC-精简版的手册是免费下载的,至少它是当我下载我的副本一段时间在2001年。
您必须挖成高科技型的文件,但往往编译器有特殊的关键字来定义中断函数。编译器或运行时系统,具有应对被中断专门调用的函数:除了建立向量,编译器(或运行时系统)必须保留所有的寄存器。它可能没有这样做,对于一个正常的,非中断功能。
手册将你的朋友。
这 用于 PIC 的 CCS 编译器 在各种中断源的中断处理函数上使用#INT_* 编译器指令或“属性”。
不隶属于 StackOverflow