NVIC设置

NVIC设置NVIC终端优先级分组(NestVectorInterruptControl嵌套式向量中断控制器)CM4内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。STM32F4只是使用了其中的一部分。STM32F40xx/STM32F41xx的92个中断里面,包括10个内核中断,82个可屏蔽中断(常用)“`分组寄存器SCB->…

大家好,又见面了,我是你们的朋友全栈君。

NVIC终端优先级分组(Nest Vector Interrupt Control 嵌套式向量中断控制器)

CM4内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。STM32F4只是使用了其中的一部分。

STM32F40xx/STM32F41xx的92个中断里面,包括10个内核中断,82个可屏蔽中断(常用)

“`
分组寄存器SCB->AIRCR [10:8]    ,  IP bit[7:4]分配情况
AIRCR————–应用程序中断控制寄存器
“`

一般情况下,代码在执行过程中,只设置一次中断优先级分组,比如分组2,设置好之后一般不会再改变分组,随意改变分组会导致中断混乱,程序出现意想不到的事情

中断优先级分组函数

“`
                                         void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);

单个中断的抢占优先级和响应优先级的设置  

中断优先级控制寄存器组:IP[240]    (Interrupt Priority Registers)

240个8位寄存器,每个中断只能使用一个寄存器来确定优先级。

STM32F40x系列一共82个可屏蔽中断,使用IP[81]-IP[0]

NVIC_Init();设置每个中断的抢占优先级和响应优先级

中断使能寄存器:ISER[8];32位

中断失能寄存器组:ICER[8];32位

中断挂起控制寄存器组 :IPCR[8];

中断解挂控制寄存器 : ICPR[8];

中断激活标志位寄存器:IABR[8];     作用,了解当前正在执行的中断是哪一个。如果对应位为1则正在执行。

                                   static __INLINE uint32_t NVIC_GetActive(IRQn_Type  IRQn)

中断优先级设置步骤

系统运行后先设置中断优先级分组。调用函数:

                 void NVIC_PriorityGroupConfig(uint32_t  NVIC_PriorityGroup);//执行过程中,只设置一次中断优先级分组。

针对每个中断,设置对应的抢占优先级和响应优先级:

                                        void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140411.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • leetcode -1864. 构成交替字符串需要的最小交换次数[通俗易懂]

    leetcode -1864. 构成交替字符串需要的最小交换次数[通俗易懂]给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

  • 怎么新建pytest的ini文件_qt读写配置文件

    怎么新建pytest的ini文件_qt读写配置文件前言pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行查看pytest.ini的配置选项pytest-h找到以下

  • python进阶(8)多进程

    python进阶(8)多进程进程前置知识点进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行

  • Mysql函数FIND_IN_SET()的使用方法

    Mysql函数FIND_IN_SET()的使用方法

    2021年10月24日
  • navicat for mysq 15l激活码【中文破解版】

    (navicat for mysq 15l激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlMLZPB5EL5Q-eyJsaWN…

  • 国内十大正规现货交易平台排名(2021版榜单)

    国内十大正规现货交易平台排名(2021版榜单)现货亦称实物,指可供出货、储存和制造业使用的实物商品。可供交割的现货可在近期或远期基础上换成现金,或先付货,买方在极短的期限内付款的商品的总称。期货的对称。随着互联网的出现,世界已慢慢变成地球村,建立在信息化基础上的现货电子交易走上新经济的舞台。现货电子交易(也称为大宗商品电子交易,或现货仓单交易)是以现货仓单为交易的标的物,采用计算机网络进行的集中竞价买卖,统一撮合成交,统一结算付款,价格行情实时显示的交易方式。国内不少投资者对现货交易还不是太了解,下面小编为您介绍“国内十大正规现货交易平台排名(20

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号