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);     //中断初始化
    }

  • 相关阅读:
    FasDfs缩略图解决方案 -- Linux
    FastDFS 配置 Nginx 模块,并实现分布式同步-Linux
    Linux简单文本处理
    Linux命令执行顺序与管道命令
    建立Linux计划命令crontab
    Linux下的帮助命令
    Linux文件系统操作与磁盘管理
    Linux之文件的压缩与解压缩
    Linux环境变量与文件查找
    Linux目录结构及文件操作
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1936177.html
Copyright © 2011-2022 走看看