我正在PIC16LF1618的RC7上使用电平变化中断。这是我用于I-O-C的初始化位:
void I_O_C_Initialize (void) {
INTCONbits.IOCIF = 0;
IOCCFbits.IOCCF7 = 0;
INTCONbits.IOCIE = 1;
IOCCP = 0x80;
}
我可以使用RC7上的正触发将PIC从掉电模式(SLEEP)中唤醒。但是,我也希望在执行期间也可以使用此触发器,好像RC7上的任何正触发器都应将PIC复位并转到main()函数的第一行。
您能否让我知道如何实现这一目标?
附言:由于复位需要尽快发生,并且对执行时间至关重要,因此我无法在主函数内添加多个if语句来检查RC7上的正触发。因此,即使它正在执行延迟或功能循环,我仍在寻找一个中断选项来复位PIC。
谢谢
最佳答案
在大多数8位PIC器件中,假设您使用的是XC8,则有一个定义可调用所需的汇编命令:
#define RESET() asm("reset")
因此,在您的中断处理程序中,只需插入以下代码行:
RESET();
关于c - 执行运行时更改时中断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38263364/