HC32L130 外部IO中断

1.HC32L130外部端口PB2

#include "app_SD3078.h"

#define RCC_RTC_INT_PORT 	SysctrlPeripheralGpio		/* GPIO端口时钟 */

#define PORT_RTC_INT	GpioPortB			/* GPIO端口 */
#define PIN_RTC_INT		GpioPin2		/* GPIO引脚 */

void App_RTC_INTInit(void){
    stc_gpio_cfg_t stcGpioCfg;
    
    ///< 打开GPIO外设时钟门控
    Sysctrl_SetPeripheralGate(RCC_RTC_INT_PORT, TRUE);
    
    ///< 端口方向配置->输入
    stcGpioCfg.enDir = GpioDirIn;
    ///< 端口驱动能力配置->高驱动能力
    stcGpioCfg.enDrv = GpioDrvL;
    ///< 端口上下拉配置->无
    stcGpioCfg.enPu = GpioPuDisable;
    stcGpioCfg.enPd = GpioPdDisable;
    ///< 端口开漏输出配置->开漏输出关闭
    stcGpioCfg.enOD = GpioOdDisable;
    ///< 端口输入/输出值寄存器总线控制模式配置->AHB
    stcGpioCfg.enCtrlMode = GpioAHB;
    ///< GPIO IO USER KEY初始化
    Gpio_Init(PORT_RTC_INT, PIN_RTC_INT, &stcGpioCfg); 

    ///< 打开并配置USER KEY为下降沿中断
    Gpio_EnableIrq(PORT_RTC_INT, PIN_RTC_INT, GpioIrqFalling);
    ///< 使能端口PORTA系统中断
    EnableNvic(PORTB_IRQn, IrqLevel2, TRUE); 	
}

///< PortB中断服务函数
void PortB_IRQHandler(void)
{
    if(TRUE == Gpio_GetIrqStatus(PORT_RTC_INT, PIN_RTC_INT))
    {            

				printf("PortB_IRQHandler");

      Gpio_ClearIrq(PORT_RTC_INT, PIN_RTC_INT);    
    }

} 

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值