在PF口中断的编程过程中,事先已经对*pFIO_INEN、*pFIO_DIR、*pFIO_EDGE、*pFIO_MASKA_D进行了设置,并且也在*pSIC_IARx中对中断等级进行了设定,最后也设置了*pSIC_IMASK,使能了外部中断,但是在编译下面这句话“register_handler(ik_ivg7, PF_Isr);”时,出现下面的错误: identifier "PF_Isr" is undefined,这里PF_Isr这个名字不是自己起的吗,怎么成了未定义?
另外,在中断的那个新手教学视频里,在进行PF口的设置时,采用下面的方式,例如对*pFIO_INEN设置PF0、PF1输入使能时,写成:*pFIO_INEN |= PF0|PF1; 为什么不直接写成 *pFIO_INEN = 0x0003;? 采用前者这种方式有什么好处吗?
达人告知啊,万分感谢!
在函数前面需要加 EX_INTERRUPT_HANDLER(PF_Isr);
*pFIO_INEN |= PF0|PF1; 为什么不直接写成 *pFIO_INEN = 0x0003;
*pFIO_INEN |= PF0|PF1;这个语句是在对*pFIO_INEN寄存器的PF0和PF1置1的时候不会影响其他的位,但是*pFIO_INEN = 0x0003是在对PF0和PF1置1的时候把其他位置0了.