外部中断的使用–红外避障模块
@(MSP432P401R)
外部中断的配置
此处中断沿使用下降沿
文档链接:file:///D:/MSP%20SDK/simplelink_msp432p4_sdk_3_40_01_02/docs/tidrivers/doxygen/html/_g_p_i_o_8h.html#a46b0c9afbe998c88539abc92082a1173
具体代码说明
- 头文件
#include <ti/drivers/GPIO.h>
- 设置中断回调函数并使能
GPIO_init();
GPIO_setCallback(detec1,DetecFxn);
GPIO_setCallback(detec2,DetecFxn);
//GPIO_setCallback(detec3,DetecFxn);
GPIO_setCallback(detec4,DetecFxn);
// Enable interrupts
GPIO_enableInt(detec1);
GPIO_enableInt(detec2);
//GPIO_enableInt(detec3);
GPIO_enableInt(detec4);
动态配置函数:int_fast16_t GPIO_setConfig (uint_least8_t index, GPIO_PinConfig pinConfig)
用于配置的宏定义:
设置中断回调函数:void GPIO_setCallback (uint_least8_t index, GPIO_CallbackFxn callback)
使能中断函数:void GPIO_enableInt (uint_least8_t index)
- 中断回调函数和延时函数:
void DetecFxn(uint_least8_t index)
{
GPIO_write(CONFIG_GPIO_0, CONFIG_GPIO_LED_ON);
ms_Delay(600);
GPIO_write(CONFIG_GPIO_0, CONFIG_GPIO_LED_OFF);
}
void ms_Delay(uint16_t t_ms)
{
uint32_t t=t_ms*4000;
while(t--);
}
函数声明:
void DetecFxn(uint_least8_t index);
void ms_Delay(uint16_t t_ms);