中断函数(学习笔记)

  • IRQn_Type

         control+F 搜索【IRQn_Type】

        Lookin:Current Project

        最终在gd32f4xx.h中找到

  • 中断函数

中断函数的名字都是固定的,每一个中断通道对应一个中断函数。

在启动文件(xxxx.s)中,以IRQHandler结尾的字符串就是中断函数的名字

  •  中断函数无参无返回值

void EXTI10_15_IRQHandler(void){

}

  • 中断函数格式

void EXTI10_15_IRQHandler(void){

        首先进行中断标志位的判断

        if(exti_interrupt_flag_get(EXTI_14)== SET){

        中断函数最后一定要调用清除中断标志位的函数!(因为只要中断标志位置1,程序就会跳到中断函数,未清除中断标志位则会一直申请中断。)

                exti_interrupt_flag_clear(EXTI_14);

        }

}

  • exit.h中的后四个函数区分

在主程序中查看标志位            FlagStatus exti_flag_get(exti_line_enum linex);

在主程序中清除标志位            void exti_flag_clear(exti_line_enum linex);

在中断程序中查看标志位        FlagStatus exti_interrupt_flag_get(exti_line_enum linex);

在中断程序中清除标志位        void exti_interrupt_flag_clear(exti_line_enum linex);

  • Notes

1.中断函数中最好不要执行耗时过长的代码;

2.最好不要在中断函数和主函数调用相同的函数,或者操作同一硬件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值