【NVIC】

https://www.bilibili.com/opus/559173998573672049

定义

NVIC(Nested Vector Interrupt Controller):就是嵌套向量中断控制器。

向量:中断以向量表的形式进行管理,每个ISR的入口地址占据四个字节空间,有序排列在向量表中。

控制器:对中断机制进行管理,一个中断有四个基本控制操作:
使能(enable)——允许中断
失能(或称:除能,disable)——禁止中断
挂起(set-pending)——等待处理中断
解挂(clear-pending)——停止挂起转而处理中断。
NVIC为每个中断,提供四个bit(分布在四个寄存器中)以控制四种操作,bit置位则启动控制操作,bit清零没有效果不产生任何操作。

函数

设置中断的优先级:NVIC_SetPriority(IRQn, priority)
IRQn 用来指定中断源:当IRQn<0时,设置的是内核中断;当IRQn>=0时,配置的是外部中断的优先级;
priority指定优先级:值越高优先级越小;
设置中断处理函数:NVIC_SetVector,允许在运行时动态修改中断服务函数的地址
设置中断优先级:NVIC_SetPriority
使能中断:NVIC_EnableIRQ

使用

中断初始化
    NVIC_SetVector(IRQn,vector);//注册终端号对应的中断处理函数
    NVIC_SetPriority(IRQn, priority);//设置中断优先级
    NVIC_EnableIRQ(IRQn);//使能中断
中断处理
    NVIC_DisableIRQ//禁止
    NVIC_ClearPendingIRQ//解挂处理中断
    .....中断实际处理
    NVIC_EnableIRQ//处理完重新使能等待
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值