补充一下前面NVIC内嵌向量中断控制器的知识
中断

中断类型

中断控制

配置中断
优先级

分组问题

中断使能

NVIC相关库函数和作用
| 库函数 | |
| 函数名 | 描述 |
| NVIC_DeInit | 将外设 NVIC 寄存器重设为初始值 |
| NVIC_SCBDeInit | 将外设 SCB 寄存器重设为初始值 |
| NVIC_PriorityGroupConfig | 设置优先级分组:先占优先级和从优先级 |
| NVIC_Init | 根据 NVIC_InitStruct 中指定的参数初始化外设 NVIC 寄存器 |
| NVIC_StructInit | 把 NVIC_InitStruct 中的每一个参数按初始值填入 |
| NVIC_SETPRIMASK | 使能 PRIMASK 优先级:提升执行优先级至 0 |
| NVIC_RESETPRIMASK | 失能 PRIMASK 优先级 |
| NVIC_SETFAULTMASK | 使能 FAULTMASK 优先级:提升执行优先级至-1 |
| NVIC_RESETFAULTMASK | 失能 FAULTMASK 优先级 |
| NVIC_BASEPRICONFIG | 改变执行优先级从 N(最低可设置优先级)提升至 1 |
| NVIC_GetBASEPRI | 返回 BASEPRI 屏蔽值 |
| NVIC_GetCurrentPendingIRQChannel | 返回当前待处理 IRQ 标识符 |
| NVIC_GetIRQChannelPendingBitStatus | 检查指定的 IRQ 通道待处理位设置与否 |
| NVIC_SetIRQChannelPendingBit | 设置指定的 IRQ 通道待处理位 |
| NVIC_ClearIRQChannelPendingBit | 清除指定的 IRQ 通道待处理位 |
| NVIC_GetCurrentActiveHandler | 返回当前活动的 Handler(IRQ 通道和系统 Handler)的标识符 |
| NVIC_GetIRQChannelActiveBitStatus | 检查指定的 IRQ 通道活动位设置与否 |
| NVIC_GetCPUID | 返回 ID 号码,Cortex-M3 内核的版本号和实现细节 |
| NVIC_SetVectorTable | 设置向量表的位置和偏移 |
| NVIC_GenerateSystemReset | 产生一个系统复位 |
| NVIC_GenerateCoreReset | 产生一个内核(内核+NVIC)复位 |
| NVIC_SystemLPConfig | 选择系统进入低功耗模式的条件 |
| NVIC_SystemHandlerConfig | 使能或者失能指定的系统 Handler |
| NVIC_SystemHandlerPriorityConfig | 设置指定的系统 Handler 优先级 |
| NVIC_GetSystemHandlerPendingBitStatus | 检查指定的系统 Handler 待处理位设置与否 |
| NVIC_SetSystemHandlerPendingBit | 设置系统 Handler 待处理位 |
| NVIC_ClearSystemHandlerPendingBit | 清除系统 Handler 待处理位 |
| NVIC_GetSystemHandlerActiveBitStatus | 检查系统 Handler 活动位设置与否 |
| NVIC_GetFaultHandlerSources | 返回表示出错的系统 Handler 源 |
| NVIC_GetFaultAddress | 返回产生表示出错的系统 Handler 所在位置的地址 |


















