FS_NXPM4的GPIO中断开发及分析
开发板采用的MCU是NXP公司开发的LPC4350。开发板由华清远见研发中心开发。
(1)程序开始首先要对硬件进行初始化,在此使用SystemInit()函数,根据程序启动方式,进行对向量表,Flash的选择。
(2)然后初始化系统时钟:
uint32_t CGU_Init(void){
CGU_SetXTALOSC(12000000);
CGU_EnableEntity(CGU_CLKSRC_XTAL_OSC, ENABLE);
CGU_EntityConnect(CGU_CLKSRC_XTAL_OSC, CGU_CLKSRC_PLL1);
// Disable PLL1 MCU hang???
//CGU_EnableEntity(CGU_CLKSRC_PLL1, DISABLE);
CGU_SetPLL1(6);
CGU_EnableEntity(CGU_CLKSRC_PLL1, ENABLE);
CGU_EntityConnect(CGU_CLKSRC_PLL1, CGU_BASE_M4);
CGU_UpdateClock();
return 0;
}
(3)对于LPC4350的引脚,每个引脚可能会对应着多个功能。利用LPC4350的SCU功能进行引脚功能的选择。就FS_NXPM4开发板上的按键KEY1进行说明:
按键的板级硬件连接入下图所示:
然后查看与MCU的连接管脚是哪个:
可以看到,MCU上控制KEY1的管脚是PD.2。
(3)查看LPC4350用户手册,得到该引脚能够控制的所有外设功能,如下图所示:
在这里,选择该引脚对应的GPIO