微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 当一个函数中有多个中断时应该怎么写

当一个函数中有多个中断时应该怎么写

时间:10-02 整理:3721RD 点击:
比如说PIC16F877,如果只有一个ADC中断函数,就写void interrupt ADCINT(void),如果只有一个CCP1中断就写void interrupt CCP1INT()。如果两个同时有怎么办?把这两句都写上么?单片机能否区分哪个是哪个中断?判断的依据是什么?

PIC16只有一个中断向量。所以,必须是在中断响应程序里查找哪个中断标志有了。那个中断函数的名称没意义。
请找实际例程看看去。比如这个:
static void interrupt
isr(void)                        // Here be interrupt function - the name is unimportant.
{
if (T0IF) {
T0IF = 0;                        // clear the interrupt flag
        }
else if(TMR1IF) {
TMR1IF = 0;                        // clear the interrupt flag
        }
else if(RBIF)
{RBIF=0;
}
}

好的,多谢多谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top