S32K144之SDK版:GPIO中断应用

目录

一,配置GPIO

二,生成代码

三,代码补全

GPIO代码

中断代码


一,配置GPIO

二,生成代码

三,代码补全

GPIO代码

    ///初始化GPIO
    PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);

    ///安装中断函数
    INT_SYS_InstallHandler(PORTD_IRQn,PORTD_LeftRightPWM_ISR,NULL);
    /*使能中断函数*/
    INT_SYS_EnableIRQ(PORTD_IRQn);

中断代码

uint16_t g_Count = 0;
uint16_t g_LeftPWM_Count = 0;
uint16_t g_RightPWM_Count = 0;

void PORTD_LeftRightPWM_ISR(void)
{
    g_Count++;
    uint32_t TouchLeft = (PINS_DRV_GetPortIntFlag(PORTD) & ( 1 <<16 ) );  //获取中断标志位状态
    /*检测中断*/
    if(TouchLeft !=0 )
    {
    	g_LeftPWM_Count++;
    	if(g_LeftPWM_Count == 4095)
    	{

    		g_LeftPWM_Count = 0 ;
    	}
    	///清除中断标志位
    	PINS_DRV_ClearPinIntFlagCmd(PORTD,16);
    }

    uint32_t TouchRight = (PINS_DRV_GetPortIntFlag(PORTD) & ( 1 <<15 ) );  ///获取中断标志位状态
    /*检测中断*/
    if(TouchRight !=0 )
    {
    	g_RightPWM_Count++;
    	if(g_RightPWM_Count == 4095)
    	{
    		g_RightPWM_Count = 0 ;
    	}
    	///清除中断标志位
    	PINS_DRV_ClearPinIntFlagCmd(PORTD,15);
    }

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值