GPIO中断操作:
在 Stellaris 系列 ARM 里,每个 GPIO 管脚都可以作为外部中断输入。中断的触发类型
为边沿触发和电平触发两大类,共 5 种,用起来非常灵活。配置 GPIO管脚的中断触发方
可以通过调用函数 GPIOIntTypeSet( )来实现。函数 GPIOPinIntEnable( )和 GPIOPinIntDisable( )用来使能和禁止 GPIO管脚中断
函数 GPIOPinIntStatus( )用来获取 GPIO管脚的中断状态。在同一个 GPIO 端口上,8 个
IO管脚的中断向量都是共用的。如果同时配置了同一端口上的多个管脚中断,则可以先用函数 GPIOPinIntStatus( )读取中断状态, 再进一步确认具体是哪个管脚产生的中断请求。
函数GPIOPinIntClear( )用来及时清除 GPIO管脚的中断状态
1 函数 GPIOIntTypeSet( )
功能 设置所选GPIO端口指定管脚的中断触发类型
原型 void GPIOIntTypeSet(unsigned long ulPort, unsigned char ucPins, unsigned long ulIntType)
参数
ulPort:所选GPIO端口的基址
ucPins:指定管脚的位组合表示
ulIntType:指定中断触发机制的类型,应当取下列值之一:
GPIO_FALLING_EDGE // 下降沿触发中断
GPIO_RISING_EDGE // 上升沿触发中断
GPIO_BOTH_EDGES // 双边沿触发中断(上升沿和下降沿都会触发中断)
GPIO_LOW_LEVEL // 低电平触发中断
GPIO_HIGH_LEVEL // 高电平触发中断
例如要设置GPIO_PORTF端口的F1为下降沿触发中断方式,可以用下面的函数:
GPIOIntTypeSet(GPIO_PORTF_BASE, GPIO_PIN_1,GPIO_BOTH_EDGES)