14、外部中断

1、NVIC

NVIC即嵌套向量中断控制器。它是内核的器件。M3内核都是支持256个中断,其中包含了16个系统中断和240个外部中断,并且具有256级的可编程中断设置。然而芯片厂商一般不会把内核的这些资源全部用完,STM32F103ZET6的系统中断有10个,外部中断有60个。STM32F103的中断向量表在STM32F103xx.h文件中被定义。

1.1、NVIC寄存器

NVIC相关的寄存器定义了可以在core_cm3.h文件中找到。

c 复制代码
typedef struct 
{
	__IOM 	uint32_t ISER[8U];             /* 中断使能寄存器 */ 
			uint32_t RESERVED0[24U]; 
	__IOM 	uint32_t ICER[8U];             /* 中断清除使能寄存器 */ 
			uint32_t RSERVED1[24U]; 
	__IOM 	uint32_t ISPR[8U];             /* 中断使能挂起寄存器 */ 
			uint32_t RESERVED2[24U]; 
	__IOM 	uint32_t ICPR[8U];             /* 中断解挂寄存器 */ 
			uint32_t RESERVED3[24U]; 
	__IOM 	uint32_t IABR[8U];             /* 中断有效位寄存器 */ 
			uint32_t RESERVED4[56U]; 
	__IOM 	uint8_t  IP[240U];             /* 中断优先级寄存器(8Bit 位宽) */ 
			uint32_t RESERVED5[644U]; 
	__OM  uint32_t STIR;                   /* 软件触发中断寄存器 */ 
}  NVIC_Type; 
  • ISER[8]:ISER全称是:Interrupt Set Enable Registers,这是一个中断使能寄存器组。CM3内核支持256个中断,这里用8个32位寄存器来控制,每个位控制一个中断。但是STM32F103的可屏蔽中断最多只有60个,所以对我们来说,有用的就是两个(ISER[0]和ISER[1]),
    总共可以表示64个中断。而STM32F103只用了其中的60个。ISER[0]的bit0~31分别对应中
    断031;ISER[1]的bit027 对应中断32~59,这样总共60个中断就可以分别对应上了。你要使
    能某个中断,必须设置相应的ISER位为1,使该中断被使能(这里仅仅是使能,还要配合中断
    分组、屏蔽、IO口映射等设置才算是一个完整的中断设置)。具体每一位对应哪个中断,请参考
    stm32f103xe.h 里面的第 69 行。
相关推荐
准测仪器2 小时前
6项提高电机制造质量的电气测试方案
单片机·嵌入式硬件·制造·电机·电气·放电测试·局部放电测试
ACP广源盛139246256733 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
hazy1k3 小时前
51单片机基础-IO扩展(并转串 74HC165)
stm32·单片机·嵌入式硬件·fpga开发·51单片机·1024程序员节
Tony小周3 小时前
使用QKeyEvent keyPress(QEvent::KeyPress, key模拟键盘发送事件,会导致主程序卡死
嵌入式硬件·qt
qqxhb3 小时前
系统架构设计师备考第64天——网络构建关键技术
网络·系统架构·mtbf·mttr·冗余硬件·软件热备·快速检测
爱好读书4 小时前
一键生成系统架构图
系统架构·毕业设计·课程设计
普中科技5 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 13 章 STM32 位带操作
stm32·单片机·嵌入式硬件·arm·gpio·普中科技·位带操作
zhmhbest6 小时前
Qt 全球峰会 2025:中国站速递 —— 技术中立,拥抱更大生态
开发语言·qt·系统架构
河南博为智能科技有限公司7 小时前
RS485转以太网串口服务器-串口设备联网的理想选择
大数据·服务器·人工智能·单片机·嵌入式硬件·物联网
国科安芯8 小时前
抗辐照MCU芯片在无人叉车领域的性能评估与选型建议
网络·人工智能·单片机·嵌入式硬件·安全