yuzuha_wasa/未来の扉を開けて
分类
标签
Apache apt Blogging Customization C语言 Demo DMA Example F4A0 F5529 FPGA Fuwari G2553 git GPIO HC-05 HC-06 HC32 HDSC IAP Keil Linux基础知识 Linux安全 Linux常用命令 Linux文件与目录管理 Linux文件全线管理 Linux文件操作 Linux用户管理 Linux的C语言编程 Linux系统监测 Linux项目 Manjaro mariadb Markdown matlab MCU MSP430 Nginx Nvidia openSUSE OSS phpmyadmin PWM Python Quartus RT-Thread Service SPI ST STM32 systemctl systemd TI Timer Typora Ubuntu Video VideoDecode zypper 中断系统 压缩包 图床 外部中断 定时器 定时器输入捕获 帮助命令 常用命令 开发环境 归档 数据库 数据结构 数据绘图 状态监控 编码器 网络基础知识 网络工具 蓝牙模块 虚拟机 资源分享 软件包管理器 邮箱服务器 防火墙
420 字
2 分钟
STM32 中断简单介绍
中断系统
中断概念
主程序运行时触发特定的中断条件后,使CPU暂停并保存任务,转而处理中断函数
中断优先级
中断有轻重缓急,CPU会根据中断优先级,优先相应更加重要的中断源
中断嵌套
当进入中断时,更高优先级中断触发,那么将会暂停当前中断程序,执行高优先级中断
中断数量
68个可屏蔽中断通道包含EXTI、TIM、ADC、USART、SPI、IIC、RTC等外设
由NVIC统一管理,每个中断有16个可编程优先等级,可以设置抢占优先级和响应优先级
所有中断参考 STM32F10xxx参考手册(中文).pdf P130 9.1.2 中断和异常向量
NVIC 嵌套向量中断控制器
Cortex-M3权威指南.pdf P26 2.4 内建的嵌套向量中断控制器
NVIC提供以下功能
- 可嵌套中断支持
- 向量中断支持
- 动态优先级调整支持
- 中断延迟大大缩短
- 中断可屏蔽
NVIC的优先级分组
中断一般不遵从先来后到的方式,一直都是优先级高的先响应
中断优先级有优先级的4位0-15决定,对这四位进行拆分可以分为高那位设置抢占优先级,低4-n位设置响应优先级AIRCR中断分组设置表
分组方式 | AIRCR[10:8] | IP bit[7:4]分配情况(抢占优先级:响应优先级) |
---|---|---|
0 | 111 | 0:4 |
1 | 110 | 1:3 |
2 | 101 | 2:2 |
3 | 100 | 3:1 |
4 | 011 | 4:0 |
抢占优先级与响应优先级
抢占优先级高可以中断嵌套,而响应优先级高可以优先响应,均相同按中断号排队(先到先得)