【简介】
在之前的贴子中有介绍过S32K3的GPIO模块(【S32K3XX】SIUL2 之 GPIO 功能使用 ),在之前的配置中我们只是配置 成GPIO并没有配置为中断,我们在此基础上继续配置GPIO 的中断,本地配置PTG14 为中断输入功能,在S32DS中添加如下配置即可把GIPO配置为中断引脚。

【GPIO 中断信号】
GPIO 有四个中断信号连接到 处理器,对应RM 中文档描述如下:


中断信号的配置可以需要在S32DS中加入Siul2_Icu 模块

通过Silu2_ICU 模块来配置中断的参数配置。



在IntCtrl 中使能对应的GPIO中断:

编写如下的测试代码初始化GPIO中断:
/* ICU config */ Siul2_Icu_Ip_Init(0U, &Siul2_Icu_Ip_0_Config_PB); Siul2_Icu_Ip_EnableInterrupt(0U, 30U); Siul2_Icu_Ip_EnableNotification(0U, 30U); Siul2_Icu_Ip_SetActivationCondition(0U, 30U,SIUL2_ICU_BOTH_EDGES);
在中断回调函数中添加打印来确认中断是否响应:
void gpio_test_isr(void)
{
PRINTF("ISR \r\n");
}本地触发一个脉冲试验发现,上升沿和下降沿按照预期的进入了中断

26

