zoukankan      html  css  js  c++  java
  • STM32 NVIC学习

    阅读nvic:系统中断管理。
    我的理解——管理系统内部的中断,负责打开和关闭中断。
    基础应用1,中断的初始化函数,包括设置中断向量表位置,和开启所需的中断两部分。所有程序中必须的。
    用法: void NVIC_Configuration(void)
    {
    NVIC_InitTypeDef NVIC_InitStructure;//中断管理恢复默认参数
    #ifdef  VECT_TAB_RAM  
    //如果C/C++ Compiler\Preprocessor\Defined symbols中的定义了VECT_TAB_RAM(见程序库更改内容的表格)
    NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //则在RAM调试
    #else        //如果没有定义VECT_TAB_RAM
    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);//则在Flash里调试
    #endif        //结束判断语句
    //以下为中断的开启过程,不是所有程序必须的。
    //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); 
    //设置NVIC优先级分组,方式。
    //注:一共16个优先级,分为抢占式和响应式。两种优先级所占的数量由此代码确定,NVIC_PriorityGroup_x可以是0、1、 2、3、4,分别代表抢占优先级有1、2、4、8、16个和响应优先级有16、8、4、2、1个。规定两种优先级的数量后,所有的中断级别必须在其中选择,抢占级别高的会打断其他中断优先执行,而响应级别高的会在其他中断执行完优先执行。
    //NVIC_InitStructure.NVIC_IRQChannel = 中断通道名;
    //开中断,中断名称见函数库
    //NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    //抢占优先级
    //NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; 
    //响应优先级
    //NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//启动此通道的中断
    //NVIC_Init(&NVIC_InitStructure);     //中断初始化
    }

  • 相关阅读:
    leetcode ---Search a 2D Matrix
    leetcode ---Search for a Range
    LeetCode--Search in Rotated Sorted Array
    LeetCode--setatrixzeroes
    LeetCode--sortColor
    LeetCode--Spiral Matrix
    java io类 和servlet类 的UML图表示
    servlet web.xml配置详解
    解决json日期格式带T问题
    在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1936177.html
Copyright © 2011-2022 走看看