pic24HJ128GP504产生了输入捕获中断,但此时有定时器中断,函数从输入捕捉中断函数跳出来了,如何让函数在输入中断函数运行完之后再进入定时器中断函数
时间: 2023-11-28 13:04:50 浏览: 70
PIC24HJ128GP506开发板程序_程序_pic24hj128gp506a_
5星 · 资源好评率100%
在这种情况下,可以使用一个标志位来指示输入捕获中断函数是否已经完成,如果已经完成,可以在定时器中断函数中检查这个标志位,如果标志位为真,则进入输入捕获中断函数。具体实现步骤如下:
1. 在全局变量中定义一个标志位,例如:`volatile unsigned char inputCaptureFlag = 0;`
2. 在输入捕获中断函数中,将标志位设置为真,例如:`inputCaptureFlag = 1;`
3. 在定时器中断函数中,先检查标志位是否为真,如果为真,则将标志位清零并进入输入捕获中断函数,例如:
```c
if(inputCaptureFlag) {
inputCaptureFlag = 0;
// 进入输入捕获中断函数
}
```
这样,就能保证在输入捕获中断函数运行完之后再进入定时器中断函数。注意,由于标志位是一个全局变量,因此在多个中断函数中使用时需要注意同步问题。
阅读全文