NVIC嵌套向量中断控制器--使用归纳
来源:互联网 发布:淘宝网站模板下载 编辑:程序博客网 时间:2024/06/15 23:45
中断建立一般为三个步骤:
1.建立优先级组
2.为该中断指定优先级(抢占级和响应级)
3.使能该中断
分步骤归纳:
一、建立优先级组
SCB->AIRCR寄存器和NVIC->IP[]寄存器组这两个相关:
首先说明IP寄存器组是一个由240个8bit的寄存器组成,每个可屏蔽中断占用8bit(即一个8bit寄存器配置一个中断的优先级)。但实际只用到这8bit寄存器的高四位[7:4],这四位又分为抢占优先级和子优先级(响应优先级)。抢占优先级在前,子优先级在后。而这两个优先级各占几个位又要根据SCB->AIRCR 中的中断分组设置来决定。
先设置 SCB->AIRCR的分组,分配关系如图
执行步骤:
u32 temp,temp1; temp1 = (~NVIC_Group) & 0x07; //读取分组temp1 <<= 8; //左移到[10:8]temp = SCB->AIRCR; //读取寄存器原先值,后续修改temp &= 0X0000F8FF; //清空原有分组temp |= 0X05FA0000; //修改寄存器内容,需要写入0x05FA密钥temp |= temp1; //添加分组信息 SCB->AIRCR=temp; //写入寄存器,设置分组
二、为该中断指定优先级(抢占级和响应级)
上一步已设置好分组,接着设置中断的优先级
(例如分组2,强占优先级3,子优先级3,设置串口1的中断优先级,串口在中断和异常向量表中位置为37)
NVIC->IP[37] = ((3 << 2) | (3 & (0xf >> 2))) << 4;
三、使能该中断
ISER[8] 由8个32位寄存器组成,每个位控制一个中断。
NVIC->ISER[37 / 32] = 1 << (37 % 32);
- NVIC嵌套向量中断控制器--使用归纳
- STM32 嵌套向量中断控制器NVIC学习
- 嵌套的向量式中断控制器(NVIC)
- STM32 NVIC嵌套向量中断控制器函数分析
- STM32 NVIC嵌套向量中断控制器函数分析
- STM32 EXTI(外部中断)和NVIC(嵌套向量中断控制器)学习
- STM32中断向量嵌套NVIC理解
- STM32中NVIC(嵌套向量中断控制)的理解
- 内建的嵌套向量中断控制器
- 中断管理控制器NVIC与stm32中断使用
- STM32中EXTI(外部中断)和NVIC(嵌套向量中断)的关系
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
- STM32(Cortex-M3)中NVIC(嵌套向量中断控制)的理解
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解 .
- STM32 (Cortex-M3) 中NVIC(嵌套向量中断控制)的理解
- Java从一个连续的自然数区间中,随机获取几个数(这几个数是固定的,一种抽奖算法及节省空间地保存结果)
- input只允许上传图片类型文件
- idea 快捷键
- jquery 开源分析
- nginx配置https
- NVIC嵌套向量中断控制器--使用归纳
- 机器学习中的损失函数
- 区块链了解及入门
- Nginx 禁止IP访问 只允许域名访问
- vue生命周期总结
- 正则表达式
- springMVC图片上传
- ONOS源码下载、编译、安装介绍
- Java-01背包问题-动态规划-递归和非递归实现