0


stm32嵌入式系统与应用习题3

一.

  1. STM32 嵌套向量中断控制器(NVIC)具有(A )个可编程的优先等级。

A. 16

B.43

C.72

D.30

2.STM32F103 有(C )可屏蔽中断通道。

A. 40

B.50

C.60

D.70

3.STM32F103 采用(A )位来编辑中断优先级。

A. 4

B.8

C.16

D.32

4.cortex-m3 支持(D )个中断。

A. 16

B.32

C.128

D.256

  1. cortex-m3 中断包含了(B

)个内核中断。

A. 8

B.16

C.32

D.64

  1. cortex-m3 中断包含了(D )个外部中断。

A. 120

B.200

C.240

D.250

7.关于中断嵌套说法正确的是(D )。

A.只要响应优先级不一样就发生中断嵌套

B.只要抢占优先级不一样就发生中断嵌套

C.只有抢占优先级和响应优先级都不一样才能发生中断嵌套

D.以上说法都不对

8.在 STM32 向量中断控制器管理下,可将中断分为(C )组。

A. 2

B.3

C.4

D.5

9.SysTick 的中断号是(C )。

A. 4

B.5

C.6

D.7

  1. STM32 的外部中断/事件控制器(EXTI)支持(A )个中断事件请求。

A. 16

B.19

C.36

D.43

二、填空题

  1. STM32F103 微控制器复位中断服务程序的地址存放在中断向量表中的 第0个 位置。

  2. 若要使用 STM32F103 微控制器的 EXTI 中断,必先使 能 AFIO 时钟以及 GPIO时钟。

3.STM32 的 NVIC(嵌套向量中断控制器) 管理着包括 Cortex-M3核异常等中断。

  1. Cortex-M3 的系统异常清单中,编号为 1~15 的对应 内核异常 ,编号15 以上的为 外部中断 。

5.原则上,Cortex-M3 支持 4 个固定的高优先级和最多可达 16 级的可编程优先级。

6.STM32 设置中断的抢占优先级和响应优先级均为 4 级(0~3),现有中断 A,抢占优先级为 1,响应优先级 为 0;中断 B,抢占优先级为 0,响应优先级为 2;中断 C,抢占优先级为 1,响应优先级为 1,这三个中断 的优先级排序应为 B>A>C 。

7.函数EXTI_GetITStatus()的功能是 检查外部中断线的中断标志位是否被置位。

三、简答题

1.对于不同的中断源,STM32F103 微控制器的响应顺序遵循什么规则?

    响应优先级:中断源的优先级决定了中断的相对顺序。优先级高的中断源将优先得到处理。 

    抢占优先级:在相同响应优先级的情况下,抢占优先级较高的中断源将抢占正在执行的低优先级中断 的处理。 

    中断嵌套:如果一个中断正在处理过程中,而另一个中断源的响应优先级高于正在处理的中断,且具 有较高的抢占优先级,那么新的中断可以打断正在处理的中断,执行更高优先级的中断处理。
  1. STM32F103 微控制器EXTI 信号线一共有多少根?它们分别对应哪些输入?

      共有23根,EXTI0到EXTI15为gpio外部中断0~15, 
    
     • EXTI16:对应 PVD(电源电压检测)中断
    
     • EXTI17:对应 RTC 闹钟中断 
    
     • EXTI18:对应 USB 唤醒中断、EXTI19:对应以太网唤醒中断 
    
     • EXTI20:保留、EXTI21:保留、EXTI22:对应 SD 卡中断
    

四、程序设计题

1.调用库函数实现配置STM32 单片机的优先级分组为:2 位用于抢占优先级,2 位用于响应优先级,并设置 中断通道 2 的抢占优先级为 2,响应优先级为 2。

//配置
NVICNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//先占优先级 2 位,从优先级2位
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn;
NVIC_InitStructure.NVIC_IRQChanne1Cmd = ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_Init(&NVIC_InitStructure);

2.调用库函数实现配置输入线 3 生成上升沿触发的输入中断。

//配置外部中断线为上升沿触发
EXTI_InitStructure.EXTI_Line = EXTI_Line3;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI LineCmd = ENABLE;
EXTI_Init(&EXTI InitStructure);

3.电路如图所示,通过中断方式实现按键对LED 灯状态的控制,完成主程序文件(包含主函数和中断函数)。(假设灯和按键中断已设置,函数分别为 LED_GPIO_Init()和 INIT_Init())。

void EXTI4_IRQHandler(void)
{
    if (EXTI GetITStatus (EXTI Line4) == SET)
    {
        GPIO_WriteBit(GPIOA, GPIO_Pin_1,!GPIO_ReadOutputDataBit(GPIOA,CPIO_Pin_1);
        EXTI_ClearITPendingBit(EXTI_Line4):
    }
}

int main(void)
{
    LED_GPIO_Init();
    INIT_Init();
    while (1);
    {
        EXTI4_IRQHandler();
    }
    
}

其他习题:

stm32嵌入式系统与应用习题 2-CSDN博客

stm32嵌入式系统与应用习题1-CSDN博客

stm32嵌入式系统与应用习题3-CSDN博客

stm32嵌入式系统与应用习题4-CSDN博客


本文转载自: https://blog.csdn.net/m0_74318255/article/details/139076425
版权归原作者 --xf-- 所有, 如有侵权,请联系我们删除。

“stm32嵌入式系统与应用习题3”的评论:

还没有评论