HC32F4单片机中断控制器(INTC)学习笔记

        中断控制器(INTC)选择中断事件作为中断请求送到 NVIC 唤醒 WFI;选择中断事件作为事件输入(RXEV唤醒 WFE;选择中断事件唤醒系统低功耗模式(休眠模式和停止模式);控制外部中断和软件中断。

        INTC 的主要规格如下:
        1) NVIC 中断请求: INTC 配备了 258 个中断事件,处理后作为中断请求( IRQ )发送给 NVIC ,支持 130 IRQ ,每个 IRQ 对应一个或多个中断事件。
        2) 可编程优先级: 16 个可编程优先级(使用了 4 位中断优先级寄存器)。
        3) 不可屏蔽中断:可以独立选择多种系统中断事件作为不可屏蔽中断,且各中断事件配备独立的使能 选择、标志及标志清除寄存器。
        4) 配备 16 个外部中断事件。
        5) 配备多个中断事件,具体数目请参考【中断事件】。
        6) 配备 32 个软件中断事件。
        7) 中断可唤醒系统休眠模式和停止模式。
        INT003_IRQn 对应默认的回调函数 IRQ003_Handler
如果初始化时指定用户自定义的回调函数,则会执行自定义回调函数
/* IRQ sign-in */
    stcIrqSignConfig.enIntSrc = ExtInt_Type->IntSrc;
    stcIrqSignConfig.enIRQn   = ExtInt_Type->IRQn;
//    stcIrqSignConfig.enIRQn   = INT003_IRQn;
//    stcIrqSignConfig.pfnCallback = &EXTINT_KEY10_IrqCallback;
    (void)INTC_IrqSignIn(&stcIrqSignConfig);

    /* NVIC config */
    NVIC_ClearPendingIRQ(stcIrqSignConfig.enIRQn);
    NVIC_SetPriority(stcIrqSignConfig.enIRQn, ExtInt_Type->Priority);
    NVIC_EnableIRQ(stcIrqSignConfig.enIRQn);

        如果指定回调函数为EXTINT_KEY10_IrqCallback,则执行EXTINT_KEY10_IrqCallback,如果初始化时未指定用户自定义回调函数,则执行默认回调函数IRQ003_Handler,用户可自己实现IRQ003_Handler函数具体代码内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值