一.
- 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
- cortex-m3 中断包含了(B
)个内核中断。
A. 8
B.16
C.32
D.64
- 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
- STM32 的外部中断/事件控制器(EXTI)支持(A )个中断事件请求。
A. 16
B.19
C.36
D.43
二、填空题
STM32F103 微控制器复位中断服务程序的地址存放在中断向量表中的 第0个 位置。
若要使用 STM32F103 微控制器的 EXTI 中断,必先使 能 AFIO 时钟以及 GPIO时钟。
3.STM32 的 NVIC(嵌套向量中断控制器) 管理着包括 Cortex-M3核异常等中断。
- 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 微控制器的响应顺序遵循什么规则?
响应优先级:中断源的优先级决定了中断的相对顺序。优先级高的中断源将优先得到处理。
抢占优先级:在相同响应优先级的情况下,抢占优先级较高的中断源将抢占正在执行的低优先级中断 的处理。
中断嵌套:如果一个中断正在处理过程中,而另一个中断源的响应优先级高于正在处理的中断,且具 有较高的抢占优先级,那么新的中断可以打断正在处理的中断,执行更高优先级的中断处理。
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博客
版权归原作者 --xf-- 所有, 如有侵权,请联系我们删除。