stm32中的外部中断(EXTI External interrupt/event controller)keil中编程方法介绍

本文详细介绍了STM32的外部中断EXTI的概念,包括中断的优先级设置,并在Keil MDK环境下提供了具体的编程步骤,如开启时钟、配置GPIO、设置中断结构体等。
摘要由CSDN通过智能技术生成

一、STM32中断的含义

中断的含义在这里用一个打比方来解释。STM32好比是一个人。这个人,他现在正在干某一项活动(比如写作业,作业还挺多,他估计得写很久),现在他的班主任要找他去干一个某一个活(比如去取个快递,时间比较短的一个活动)。这个时候这个人 ,他放下作业去取快递就是中断。那么如果班主任和校长同时叫他去取快递呢?这个时候,就要涉及到优先级的问题。

二、中断优先级

在初始化一个EXTI的时候,我们需要先指定各个中断的优先级(谁叫来指使这个“他”来干活)。在STM32中, 设置有抢占优先级响应优先级
在这里插入图片描述
抢占优先级 响应优先级两级比较规则为 : 先比较抢占优先级,如果抢占优先级一样,再比较响应优先级。
每一级比较规则为:“The lower the value, the greater the priority of the corresponding interrupt.”

三、在stm32 keil中的编程

(1)打开时钟

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOB,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

//待商榷记得打开复用时钟。

(2)配置GPIO口

GPIO_InitStructre.GPIO_Pin=GPIO_Pin_x; 	// x口作为GPIO,也是EXTI口。
GPIO_InitStructre.GPIO_Mode=GPIO_Mode_IPU/GPIO_Mode_IPU;     //下降沿触发 ,所以给上拉的。
GPIO_InitStructre.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructre);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值