5.方向,一定不要忘记设置IO方向,要将其设置为输入,此功能需要通过GPIO模块PDDR寄存器实现。参考芯片参考手册42章GPIO。 在使用kinetis L系列MCU时,要想使用外部引脚中断,必须经过这5扇门,否则中断信号无法被相应。此外,程序中还要实现相应中断服务程序入口,并在中断服务程序中清中断标志,这些都是老生常谈了。下面给出一段C代码来说明kinetis中断响应。 /*use gpioc 5 as falling egde interrupt*/ /*1.Enable NVIC*/ __asm("CPSIE i");
/*2.Enable GPIOCD interrupt(bit 31) */ NVIC_ISER |= (1<<31);
/*3.Enable PORT5*/
SIM_SCGC5 = SIM_SCGC5_PORTC_MASK;
/*4.Function as gpio, and enable falling edge interrupt*/
PORTC_PCR5 |= PORT_PCR_MUX(1)| PORT_PCR_PE_MASK |PORT_PCR_IRQC(0x0a) | PORT_PCR_PS_MASK;
/*5.Set pin direction input*/ GPIOC_PDDR &= ~GPIO_PDDR_PDD(1<<5);
|