本帖最后由 fxyc87 于 2014-7-5 09:48 编辑
此例程功能:开启中断,指示灯指示,按下亮,再按下灭。
所有内容均为原创
#include "lpc15xx.h"
int main(){
LPC_SYSCON->SYSAHBCLKCTRL0|=1<<13|1<<14|1<<15|1<<16; //开启iocon,p0,p1,p2时钟
LPC_GPIO_PORT->B[32+1]=1; //p1.1(蓝色) 不点亮
LPC_GPIO_PORT->DIR[1]|=1<<1; //p1.1
LPC_SYSCON->SYSAHBCLKCTRL0|=1<<19; //GINT时钟开启
LPC_GINT0->PORT_POL[0]&=~(1<<17); //上升沿
LPC_GINT0->PORT_ENA[0]=1<<17; // p0.17 sw1按键 启用此引脚中断
NVIC_EnableIRQ(GINT0_IRQn); //总中断开启
while(1){
;
}
}
void SystemInit(void){
}
void GINT0_IRQHandler(){
LPC_GINT0->CTRL|=1; //清除此端口中断标志
LPC_GPIO_PORT->NOT[1]=1<<1; //IO翻转一下,指示
}
//end
/*
1.关于GPIO中断:
GPIO中断有两个模块,一块是GINT0,一块是GINT1中断,
两中断功能相同,均可以使GPIO0,1,2端口产生中断
此中断产生后再检测IO引脚的值来判断是哪个引脚发生中断,
另一块是PINT0-PINT7 有8个中断,这个中断适合快速处理场合,直连GPIO引脚,处理时间更短。延时更少
这个中断下次我再弄个教程吧
*/
此例程下载MDK
GPIO相关操作.zip
(112.12 KB, 下载次数: 21)
1 LPC1500体验+@1-入门环境熟悉【系列教程】
2 LPC1500体验+@2-点亮LED【系列教程】
3 LPC1500体验+@3-GPIO中断 正在编辑中
可在论坛中搜索:LPC1500体验+@ 来搜索我发表的此系列教程