NVIC库函数

2022-09-01 11:15:58 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1.void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)

功能:根据NVIC_InitStruct结构体变量中的参数初始化NVIC外设

注释:结构体中的NVIC_IRQChannel成员赋值要到stm32f10x.h中的IRQn_Type(STM32F10x中断数定义)去复制

例如:NVIC_Init(&NVIC_InitStructure);

2.void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)

功能:配置优先级分组(主优先级和次优先级)

注释:组0:主优先级0位,次优先级4位(0 , 0~15) 组1:主优先级1位,次优先级3位(0~1 , 0~7)

组2:主优先级2位,次优先级2位(0~3 , 0~3) 组3:主优先级3位,次优先级1位(0~7 , 0~1)

组4:主优先级4位,次优先级0位(0~15 , 0)

例如:NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

3.void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset)

功能:设置向量表的位置和偏移量

注释:位置可以为RAM或者FLASH中;偏移量对RAM高于0x100且必须是0x200的倍数;偏移量对FLASH高于0x08000100

例如:NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00010000);

4.void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState)

功能:配置系统进入低功耗模式的条件

注释:NVIC_LP_SEVONPEND(根据待处理请求唤醒,任意中断即可)

NVIC_LP_SLEEPDEEP(深度睡眠使能)

NVIC_LP_SLEEPONEXIT(退出ISR(Interrupt Service Routine中断服务程序)后睡眠)

例如:NVIC_SystemLPConfig(NVIC_LP_SEVONPEND);

5.void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)

功能:配置SysTick时钟源

注释:时钟源来自AHB总线时钟(HCLK)的分频

例如:SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);

6.core_cm3.h内的函数之后更新

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140176.html原文链接:https://javaforall.cn

0 人点赞