目录
1、概述
S32K3xx的IO口可以当作外部输入中断使用,项目中有时候需要进行响应的功能匹配,记录一下使用方式。
在RM文档的System Integration Unit Lite2 (SIUL2)大章的外部中断章节。
2、资源使用
资源使用如下图,这种需要硬件支持其功能才可以进行相应的功能配置。下图在RM文档的附录文档里面。

文档支持,注意这里的REQ[29]的向量表是3,后续RTD配置会使用到。
3、RTD配置
RTD配置,只需要配置三个部分,IO、Siul2_Icu、IntCtrl_Ip。
1、IO部分配置为eirq功能

2、Siul2部分增加一个Siul2_Icu模块

配置相应的通道

IcuChannels配置如下,此处需要注意的时候,看下什么时候产生中断,例如有的需要在由高电平变低电平的时候产生变化,此时是下降沿。回调函数填入即可。

配置外部中断

3、中断配置

此处的SIUL_3_IRQn对应着上面描述的这张图中的3

SIUL2_EXT_IRQ_24_31_ISR来源需要在如下.c里面,注意一下,所有的RTD配置中断的时候,均为在对应的Irq.c中寻找句柄函数,这个在之前的文章中有提到过。

4、代码实现
Siul2_Icu_Ip_Init(0,&Siul2_Icu_Ip_0_Config_PB);
Siul2_Icu_Ip_EnableInterrupt(0,29);
Siul2_Icu_Ip_EnableNotification(0,29); Siul2_Icu_Ip_SetActivationCondition(0,29,SIUL2_ICU_FALLING_EDGE);
5、测试结果
通过一个下降沿触发中断,然后在回调函数中拉低一个IO

2061

被折叠的 条评论
为什么被折叠?



