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函数然后去干嘛了?之后的中断为何不能响应???

STM32的外部中断问题

编写一个stm32 svc关中断函数

stm32开发,C语言, 跳转执行中断函数,会保存原来函数的局部变量吗

STM32Cubemx——外部中断

STM32中断功能的实现