zoukankan      html  css  js  c++  java
  • NVIC配置中的分组详解

            在配置优先级的时候,要注意一个很重要的问题,中断种类的数量。

       NVIC只可以配置 16 种 中断向量的优先级,也就是说,抢占优先级和响应优先 级的数量由一个 4 位的数字来决定,

    把这个 4 位数字的 位 数 分配成抢占优先级 部分和响应优先级部分。有 5 组分配方式: 

    第 0 组: 所有 4 位用来配置抢占优先级,即 NVIC 配置的 24 =16 种 中断向量都是只有抢占属性,没有响应属性。
    第 1 组:最高 1 位用来配置抢占优先级,低 3 位用来配置响应优先级。表 示有 21=2 种级别的抢占优先级(0 级,1 级),有 23=8 种响应优先级,即在 16 种中断向量之中,有 8 种中断,其抢占优先级都为 0 级,而它们的响应优先级 分别为 0~7,其余 8 种中断向量的抢占优先级则都为 1 级,响应优先级别分别 为 0~7。

    第 2 组:2 位用来配置抢占优先级,2 位用来配置响应优先级。即 22=4 种 抢占优先级,22=4 种响应优先级。
    第 3 组:高 3 位用来配置抢占优先级,最低 1 位用来配置响应优先级。即 有 8 种抢占优先级,2 种响应 2 优先级。
    第 4 组:所有 4 位用来配置响应优先级。即 16种中断向量具有都不相同的 响应优先级。
    要配置这些优先级组,可以采用库函数
    NVIC_Priorit yGroupConfig () ,可输入的参数为NVIC_PriorityGroup_0 ~ NVIC_PriorityGroup_ 4。

  • 相关阅读:
    V4L2学习(三)框架分析
    Linux 内核源码外编译 linux模块--编译驱动模块的基本方法
    V4L2学习(二)结构介绍
    V4L2学习(一)整体说明
    Linux内存管理之mmap详解
    C语言指针分析
    V4L2使用V4L2_MEMORY_USERPTR和V4L2_MEMORY_MMAP的区别
    Ubuntu添加环境变量
    list_add_tail()双向链表实现分析
    Linux下查看USB设备信息
  • 原文地址:https://www.cnblogs.com/wangshucai/p/8582353.html
Copyright © 2011-2022 走看看