GD32F407ZG的rtc中断优先级配置函数
时间: 2023-11-20 16:06:53 浏览: 45
GD32F407ZG RTC中断优先级配置函数的写法如下:
```c
void RTC_NVIC_Config(void)
{
NVIC_InitPara NVIC_InitStructure;
RTC_ClearFlag(RTC_FLAG_SEC); // 清除RTC的秒中断标志位
EXTI_ClearIntBitState(EXTI_LINE17); // 清除RTC的闹钟中断标志位
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); // 配置NVIC的优先级分组
NVIC_InitStructure.NVIC_IRQ = RTC_IRQn; // 设置RTC中断向量
NVIC_InitStructure.NVIC_IRQPreemptPriority = 0; // 设置RTC中断抢占优先级
NVIC_InitStructure.NVIC_IRQSubPriority = 0; // 设置RTC中断响应优先级
NVIC_InitStructure.NVIC_IRQEnable = ENABLE; // 使能RTC中断
NVIC_Init(&NVIC_InitStructure); // 初始化NVIC
}
```
在这个函数中,我们首先清除RTC的秒中断和闹钟中断标志位,然后配置NVIC的优先级分组为2(每组2位),接着设置RTC中断向量、抢占优先级、响应优先级,最后使能RTC中断并初始化NVIC。
需要注意的是,NVIC的优先级分组决定了抢占优先级和响应优先级的位数,例如在本示例中,抢占优先级和响应优先级各占1位,总共2位。如果需要更多的优先级位数,可以选择更高的优先级分组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)