EXTI——外部中断(按键中断)

STM32F429中有10个系统异常,91个中断。
EXTI——外部中断/事件控制器
在这里插入图片描述
有图可得:EXTI可以产生中断也可以产生事件

编写按键——中断驱动程序

  1. 初始化RGB彩色灯(前面的LED驱动程序已经写好了,直接调用就可以了)

  2. 打开GPIO的时钟和SYSCFG时钟(SYSCFG是外部中断寄存器,使用EXTI必须开启SYSCFG时钟)

  3. 配置NVIC
    NVIC是嵌套向量中断控制器,设置中断优先级别。NVIC的函数声明在misc.h这个头文件里。首先设置NVIC的优先级组,然后初始化NVIC。 IRQchannel是中断通道,初始化首先就要选择中断源,中断源填写的是中断号,中断号在stm32f4xx.h的头文件。使能中断源,设置中断源的抢占优先级和子优先级。(我写的中断不是很多所以抢占优先级和子优先级设置的很随意))
    补充一下:如何比较优先级:先比较优先级组,再比较抢占优先级,再比较子优先级

    	void NVIC_configue(void)
    	{
    	    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
    	
    	    NVIC_InitTypeDef NVIC_InitStruct;
    	    NVIC_InitStruct.NVIC_IRQChannel= EXTI0_IRQn;
    	    NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
    	    NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=  1;
    	    NVIC_InitStruct.NVIC_IRQChannelSubPriority= 1;
    	    NVIC_Init(&NVIC_InitStruct);
    	}
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值