博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32 NVIC学习
阅读量:6321 次
发布时间:2019-06-22

本文共 995 字,大约阅读时间需要 3 分钟。

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

转载地址:http://mccaa.baihongyu.com/

你可能感兴趣的文章
awk 实例练习
查看>>
Make Connection NON Load Balance But Failover to RAC
查看>>
kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
查看>>
1.shell简介
查看>>
源码编译安装percona-xtrabackup-2.3.2
查看>>
利用yum下载软件包的三种方法
查看>>
linux下让配置文件立即生效
查看>>
Centos 6.5下的LAMP环境搭建
查看>>
php5.6的编译安装
查看>>
redis使用详解
查看>>
那些SCOM 管理包开发中遇到的坑2–Multiple Property Bags
查看>>
SQL语句:更新一列为行号问题?
查看>>
hive分区表实践
查看>>
中国电信举办终端产业合作伙伴大会 为2016年新终端定调
查看>>
当有人登陆你的电脑时自动发送邮件给你
查看>>
loadrunner中参数化各种组合的举例
查看>>
js延迟加载的方式有哪些
查看>>
某android平板项目开发笔记--自定义sharepreference UI
查看>>
sshfs通过ssh挂载远程目录到本地
查看>>
Linux服务器负载均衡LB Cluster的LVS(NAT,DR)
查看>>