1
编写流程
如下图所示,作用于外部IO口的信号,实际上经过三个部分进入NVIC控制器:GPIO、EXTI控制器、NVIC控制器。
我们在程序配置中也需要对这三个部分依次设置。
2
外部中断实验
实验设计
Nuelco-F091RC开发板的PA10引脚配置上拉电阻并配置下降沿中断,PA10外接一按键用于接地触发中断。
开发板PB3引脚配置为推挽输出并外接LED灯泡,外部中断服务函数将PB3引脚电平翻转从而控制LED亮灭。
实验程序
宏定义LED和按键的引脚和端口
声明并定义两个部分的初始化函数[动画表情]
一定要记得开时钟,这是Stm32与AVR非常不一样的地方,
KEY_EXTI_Init()函数中最后要配置NVIC以使中断被响应。
在main函数中调用两个初始化函数。
在stm32f0xx_it.h文件中声明中断服务函数
在stm32f0xx_it.c文件中定义中断服务函数,一定别忘了清中断标志,否则程序会反复进入中断。
最后在main.c中写入回调函数内容
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
为什么STM32的Flash地址要设置到0x08000000?(2024-08-26)
为什么STM32的Flash地址要设置到0x08000000?;我们言简意赅的普及下这个知识点,争取让大家不伤脑细胞。
背景知识
M3,M4内核芯片上电复位后,要固定从0x0000 0000地址读取中断向量表......
STM32的IAP方案实现设计(2023-06-15)
返回。也就是说在STM32的内置的Flash中有一个中断向量表来存放各个中断服务函数的入口地址,内置Flash的分配情况大致如下图。
在只有一个程序的情况下,程序......
STM32的启动过程如何分析(2023-05-10)
)首先,前面
定义好了中断的响应函数,即中断向量表,标号__Vectors,表示中断向量表的入口地址。2)我们假设STM32从FLASH启动,则中断向量表起始地址为0x8000000,STM32上电......
STM32的中断使用介绍(2024-01-26)
STM32其内部通过“中断向量表”来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动。而这张“中断向量表”的起始地址是0x8000004,当中断来临,STM32的内......
STM32启动文件简介、详细步骤及代码讲解(2023-05-23)
化复位程序计数寄存器值=Reset_Handler。
3--初始化异常/ 中断向量表。
4--系统时钟配置。
5--C库函数_main初始化用户堆栈的调用 。
02文件启动步骤
1-在启动的时候,先对......
浅析STM32单片机的启动文件(2024-08-02)
际开发中如果涉及到一些改动,能够简单修改就可以了。
二、启动文件所讲内容概要
那么,启动文件里面主要讲的是什么内容呢?分为如下5个方面:
1.堆栈空间的定义;
2.初始化中断向量表;
3.复位中断......
一文读懂stm32_iap在线升级全过程(2023-06-28)
文可能会使用到这些符号。第82行:定义只读数据段,实际上是在CODE区(假设STM32从FLASH启动,则此中断向量表起始地址即为0x8000000)第83行:将标号__Vectors声明......
STM32基础知识:中断系统(2024-02-23)
类型号,查找中断向量表,转到对应的中断服务程序。
执行中断服务程序。
恢复被保护的状态,执行中断返回指令,回到被中断的程序。
3 STM32微控制器中断系统
3.1 基本概念
中断: 中断......
51单片机的内存映射(二)(2022-12-15)
可以随意配置单片机的工作时钟。另外还有一个问题,单片机为什么不去中断向量表的注册呢?这是因为51在内部ROM中做了固定的映射,不需要再去重定向,所以在线升级就很难了。而STM32是支持中断向量表重定义的,它是将注册好的中断向量表......
简析STM32的启动过程(2024-01-18)
服务程序。对比ARM7/ARM9内核,Cortex-M3内核则是固定了中断向量表的位置而起始地址是可变化的。
细说STM32的启动过程
下面就从ST的启动文件说起,由于......