STM32中断函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32中断函数相关的知识,希望对你有一定的参考价值。
参考技术A EXTI0_IRQChannel表示的是外部中断线EXTI0对应的中断函数。
以STM32F103VB系列为例,100pin,
一般我们通常使用的IO对应外部中断线如下:
PA0,PB0,PC0,PD0,PE0
对应的是EXTI0中断线;
以此类推
到PA15,PB15,PC15,PD15,PE15对应EXTI5中断线。
EXTI0对应的中断函数为EXTI0_IRQChannel;
EXTI1对应的中断函数为EXTI1_IRQChannel;
EXTI2对应的中断函数为EXTI2_IRQChannel;
EXTI3对应的中断函数为EXTI3_IRQChannel;
EXTI4对应的中断函数为EXTI4_IRQChannel;
EXTI5
->
EXTI9对应的中断函数为EXTI9_5_IRQHandler;
EXTI10
->
EXTI15对应的中断函数为EXTI15_10_IRQHandler;
你要是使用哪种类型的中断就初始化哪类型的中断,
然后在中断函数里写你想实现的东西,
注意中断函数的操作不易过多。
网上有很多基本的例子,如按键程序,闹钟中断,
可以去看下。
STM32之中断函数
本文做中断函数的索引,帮助我们找到中断函数名、中断函数参数以及中断服务函数他们的来源,以便我们编程。
1)如果一个工程只有一个中断,则我们可以进行两个步骤就可以了:
使能中断通道
编写中断服务函数
2)实例:
void Tim6_Init(u16 psc,u16 arr) //............................ //使能中断通道 NVIC_EnableIRQ(TIM6_DAC_IRQn); //中断服务函数 void TIM6_DAC_IRQHandler(void) //。。。。。。。。。。
中断服务函数名可在 “startup_stm32f40_41xxx.s”文件中找到:
中断通道编号可在“stm32f4xx.h”文件中找到,也可在手册的NVIC中断向量表找到:
如果一个工程中有多个中断,则必须考虑优先级问题,可以参考我上一篇文章:
https://www.cnblogs.com/anSn/p/11619048.html
以上是关于STM32中断函数的主要内容,如果未能解决你的问题,请参考以下文章
stm32程序执行完main函数然后去干嘛了?之后的中断为何不能响应???