• 2021-04-14
    编写NVIC中断初始化程序实现如下功能: 1)、设置中断优先级组为3组; 2)、设置外部中断1的抢占优先级为1,响应优先级为1; 3)、设置定时器1的溢出更新中断的抢占优先级为2,响应优先级为0; 4)、设置USART1的抢占优先级为3,响应优先级为1; 并说以上3各种断的优先级别(有高到低)?
  • NVIC_InitTypeDef NVIC_InitStructure;//声明NVIC初始化临时变量 /* 将NVIC中断优先级组设置为3组*/ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);//3位抢占优先级可以是:0-7 //1位响应优先级可以是:0和1 /* 1设置中断源 为EXTI1_IRQn */ NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn; /* 设置抢先优占级*/ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; /*设置相应优先级*/ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; /* 使能这一中断 */ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* 完成以上中断的初始化功能*/ NVIC_Init(&NVIC_InitStructure); /* 2设置中断源 为TIM1_UP_TIM10_IRQn */ NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_TIM10_IRQn; /* 设置抢占优先级*/ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; /*设置相应优先级*/ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /* 使能这一中断 */ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* 完成以上中断的初始化功能*/ NVIC_Init(&NVIC_InitStructure); /* 3设置中断源 为USART1_IRQn*/ NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; /* 设置抢占优先级*/ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; /*设置相应优先级*/ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; /* 使能这一中断 */ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /* 完成以上中断的初始化功能*/ NVIC_Init(&NVIC_InitStructure);

    举一反三

    内容

    • 0

      假定设置中断优先级组为2,然后设置中断3(RTC中断)的抢占优先级为2,响应优先级为1。中断6(外部中断0)的抢占优先级为3,响应优先级为0。中断7(外部中断1)的抢占优先级为2,响应优先级为0那么(<br/>) A: 中断7&gt;中断3&gt;中断6 B: 中断7&gt;中断6&gt;中断3 C: 中断3&gt;中断7&gt;中断6 D: 中断6&gt;中断7&gt;中断3

    • 1

      STM32F4中若中断优先级分组为组3(3位抢占位,1位响应位),且中断1的抢占优先级为6,响应优先级为0;中断2的抢占优先级为6,响应优先级为1;中断5的抢占优先级为4,响应优先级为1;则中断优先级顺序为中断 >中断 中断 ,中断嵌套规则为 。

    • 2

      设置串口1中断UART1中断的抢占优先级为3,响应优先级为0;外部中断EXTI1的抢占优先级为3,响应优先级为1;定时器3TIM3的抢占优先级为1,响应优先级为0;当以上三个中断同时发生时,优先级先后顺序为() A: EXTI1,UART1,TIM3 B: TIM3,UART1,EXTI1 C: EXTI1,TIM3,UART1 D: TIM3,EXTI1,UART1

    • 3

      假定设置中断优先级分组为2,然后设置中断3的抢占优先级为2,响应优先级为1。中断6的抢占优先级为3,响应优先级为0。中断7的抢占优先级为2,响应优先级为0。那么这3个中断的优先级顺序为: A: 中断3>中断6>中断7 B: 中断3>中断7>中断6 C: 中断7>中断3>中断6 D: 中断7>中断6>中断3

    • 4

      如果中断3(RTC中断)的抢占优先级为3,响应优先级为1。中断6(外部中断0)的抢占优先级为3,响应优先级为0。中断7(外部中断1)的抢占优先级为2,响应优先级为0。那么这三个中断的优先级顺序是() A: 中断7>中断3>中断6 B: 中断7>中断6>中断3 C: 中断3>中断7>中断6 D: 中断3>中断6>中断7