STM32外部中断远比之前学的51单片机的中断强大的多,回忆一下51单片机外部中断只有两个对应的输入是P3.2和P3.3。然而STM32的每一个
IO口都可以作为外部中断的输入。强大吧!所以在硬件设计时不必太多考虑外部中断的输入引脚。他是通过中断线方式把所有的IO联系到一起
,STM32的外部中断一共是19:0-18(其中0—15是IO口的中断线3个是其他外设的)由此可见IO口的中断占了半壁江山。而且其中断是内嵌的
所以中断反应的速度非常快,还有一个特点就是中断服务函数比较规范。
中断的触发方式分为下降沿、上升沿、上升和下降沿触发三种方式。那么问题来了,这三种方式都跟按键都可以轻松实现。所以
IO输入的外部中断都可以与按键相关联。
外部中断配置:
1:对应IO时钟使能和IO复用使能
2:中断管理器NVIC的分组
3:GPIO中断线配置
4:每配好一个中断线初始化一次外部中断输入参数
5: 每配好一次外部中断输入参数再配置对应的NVIN_Init()
6:最后写中断服务程序
注释:外部中断通道在#include "stm32f10x.h"的180行
中断服务程序在启动文件80行
IO口都可以作为外部中断的输入。强大吧!所以在硬件设计时不必太多考虑外部中断的输入引脚。他是通过中断线方式把所有的IO联系到一起
,STM32的外部中断一共是19:0-18(其中0—15是IO口的中断线3个是其他外设的)由此可见IO口的中断占了半壁江山。而且其中断是内嵌的
所以中断反应的速度非常快,还有一个特点就是中断服务函数比较规范。
中断的触发方式分为下降沿、上升沿、上升和下降沿触发三种方式。那么问题来了,这三种方式都跟按键都可以轻松实现。所以
IO输入的外部中断都可以与按键相关联。
外部中断配置:
1:对应IO时钟使能和IO复用使能
2:中断管理器NVIC的分组
3:GPIO中断线配置
4:每配好一个中断线初始化一次外部中断输入参数
5: 每配好一次外部中断输入参数再配置对应的NVIN_Init()
6:最后写中断服务程序
注释:外部中断通道在#include "stm32f10x.h"的180行
中断服务程序在启动文件80行