资源描述
STM32习题集
一、选择题
1.Cortex-M处理器采用的架构是( )
(A)v4T (B)v5TE (C)v6 (D)v7
2.NVIC可用来表示优先权等级的位数可配置为是( )
(A)2 (B)4 (C)6 (D)8
3.Cortex-M系列正式发布的版本是( )
(A)Cortex-M3 (B)Cortex-M4 (C)Cortex-M6 (D)Cortex-M8
4.Cortex-M3的提供的流水线是( )
(A)2级 (B)3级 (C)5级 (D)8级
5.Cortex-M3的提供的单周期乘法位数是( )
(A)8 (B)16 (C)32 (D)64
6.STM32处理器的USB接口可达( )
(A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s
4.下面是Context-M3处理器代码执行方式的是( )
(A)特权方式 (B)普通方式 (C)Handle方式 (D)Thread方式
5.下面是Context-M3处理器的工作模式的是( )
(A)Thread模式 (B)Thumb模式 (C)Thumb-2模式 (D)Debug模式
6.下列是Cortex – M3 处理器可以使用的堆栈的栈是( )
(A)线程栈 (B)进程栈 (C)多线程栈 (D)空栈
7.Context – M3处理器的寄存器r14代表( )
(A)通用寄存器 (B)链接寄存器 (C)程序计数器 (D)程序状态寄存器
8.Handle模式一般使用( )
(A)Main_SP (B)Process_SP (C)Main_SP和Process_SP (D)Main_SP或Process_SP
9.Cortex – M3使用的存储器格式是( )
(A)小端格式 (B)大端格式 (C)小端或大端格式 (D)没有正确答案
10.Cortex – M3的存储格式中专用外设总线区域可以使用( )
(A)小端格式 (B)大端格式 (C)小端或大端格式 (D)没有正确答案
11.每个通用I/O端口有( )个32位的配置寄存器,( )个32位的数据寄存器,( )个32位的置位/复位寄存器,( )个16位的复位寄存器,( )个32位的锁定寄存器
(A)2,1,2,1,1 (B)2,2,1,1,1 (C)2,2,2,1,1 (D)2,2,1,2,1
12.( )寄存器的目的就是用来允许对GPIO寄存器进行原子的读/修改操作
(A)GPIOX_BSRR和GPIOX_BRR (B)GPIOX_CRL和GPIOX_CRH(C)GPIOX_BSRR和GPIOX_LCKR (D)GPIOX_IDR和GPIOX_ODR
13.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为( )时可以是激活的或者非激活的
(A)输入 (B)输出(C)推挽 (D)开漏
14.端口输入数据寄存器的地址偏移为( )
(A)00H (B)08H(C)0CH (D)04H
16.端口输出数据寄存器的地址偏移为( )
(A)00H (B)08H(C)0CH (D)04H
17. 每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以( )的方式访问
(A)16位字 (B)16位字节 (C)32位字节 (D)32位字
18.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( )
(A)ENABLE或者DISABLE (B)SET或者RESTE
(C)YES或者NO (D)SUCCESS或者ERROR
19.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( )
(A)ENABLE或者DISABLE (B)SUCCESS或者ERROR
(C)SET或者RESTE (D)YES或者NO
20.STM32F107V有( )可屏蔽中断通道
(A)40 (B)50 (C)60 (D)70
21.STM32F107V采用( )位来编辑中断的优先级
(A)4 (B)8 (C)16 (D)32
22.向量中断控制器最多可支持( )个IRQ中断
(A)127 (B)128 (C)240 (D)255
23.系统控制寄存器 NVIC 和处理器内核接口紧密耦合,主要目的是( )
(A)结构更紧凑,减小芯片的尺寸
(B)连接更可靠,减小出错的概率
(C)减小延时,高效处理 最近发生的中断
(D)无所谓,没有特别的意思,远一点也没有关系
24.关于中断嵌套说法正确的是( )
(A)只要响应优先级不一样就有可能发生中断嵌套
(B)只要抢占式优先级不一样就有可能发生中断嵌套
(C)只有抢占式优先级和响应优先级都不一才有可能发生中断嵌套
(D)以上说法都不对
25.在STM32107向量中断控制器管理下,可将中断分为( )组
(A)4 (B)5 (C)6 (D)7
26.中断屏蔽器能屏蔽( )
(A)所有中断和异常 (B)除了NMI外所有异常和中断
(C)除了NMI、异常所有其他中断 (D)部分中断
27. PWM是( A )
28. (A)脉冲宽度调制 (B)脉冲频率调制 (C)脉冲幅度调制 (D)脉冲位置调制
29.要想使能自动重装载的预装载寄存器需通过设置TIMx_CR1寄存器的( )位
(A)UIF (B)ARPE (C)UG (D)URS
30.以下对于STM32 ADC描述正确的是( )
(A)STM32 ADC是一个12位连续近似模拟到数字的转换器
(B)STM32 ADC是一个8位连续近似模拟到数字的转换器
(C)STM32 ADC是一个12位连续近似数字到模拟的转换器
(D)STM32 ADC是一个8位连续近似数字到模拟的转换器
31.ADC转换过程不含哪项( D )
(A)采样 (B)量化 (C)编码 (D)逆采样
32.ADC转换过程正确的是( A )
(A)采样—量化—编码(B)量化—采样—编码
(C)采样—编码—量化(D)编码—采样—量化
33.下列哪项不是ADC转换器的主要技术指标( )
(A)分辨率 (B)频率 (C)转换速率 (D)量化误差
34.以下对STM32F107集成A/D的特性描述不正确的是( )
(A)12位精度 (B)单一转换模式
(C)按通道配置采样时间(D)数据对齐方式与内建数据一致
35.以下对STM32F107集成A/D的特性描述正确的是( )
(A)供电需求: 2.6V到3.8V
(B)输入范围:VREF-≤VIN≤VREF+
(C)性能线设备的转换时间:28MHz时为1us
(D)访问线设备的转换时间:56MHz时为1us
36.以下为STM32的GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为10MHz,应该设置( )
(A)CNFy[1:0] (B)MODEy[1:0]
(C)MODE (D)CNF
37.以下为GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为2MHz,应该设置MODE[1:0]值为( )
(A)00 (B)01
(C)10 (D)11
38.. 已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器1的地址为( )
(A)0x4001 2C20 (B)0x4001 2C2C
(C)0x4001 2C38 (D)0x4001 2C34
39.已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器2的地址为( )
(A)0x4001 2C20 (B)0x40012C2C
(C)0x4001 2C38 (D)0x4001 2C34
40.SysTick定时器校正值为( )
(A)9000 (B)10000
(C)12000 (D)15000
41.SysTick定时器的中断号是( )
(A)4 (B)5
(C)6 (D)7
42.上图中Tamper连接了STM32F10X的PC13GPIO,PC13通用IO端口映射到外部中断事件线上是( )
(A)EXTI线14 (B)EXTI线15
(C)EXTI线12 (D)EXTI线13
43.上图中WKUP连接了STM32F10X的PA0 GPIO,PA0通用IO端口映射到外部中断事件线上是( )
(A)EXTI线0 (B)EXTI线1
(C)EXTI线2 (D)EXTI线3
44./** @addtogroup Peripheral_registers_structures
* @{
*/
/**
* @brief Analog to Digital Converter
*/
typedef struct
{
__IO uint32_t SR;
__IO uint32_t CR1;
__IO uint32_t CR2;
__IO uint32_t SMPR1;
__IO uint32_t SMPR2;
__IO uint32_t JOFR1;
__IO uint32_t JOFR2;
__IO uint32_t JOFR3;
__IO uint32_t JOFR4;
__IO uint32_t HTR;
__IO uint32_t LTR;
__IO uint32_t SQR1;
__IO uint32_t SQR2;
__IO uint32_t SQR3;
__IO uint32_t JSQR;
__IO uint32_t JDR1;
__IO uint32_t JDR2;
__IO uint32_t JDR3;
__IO uint32_t JDR4;
__IO uint32_t DR;
} ADC_TypeDef;
ADC注入通道数据偏移寄存器有4个,其偏移地址为14H-20H,JOFR1的偏移地址为( )
(A)0x20 (B)0x1c
(C)0x18 (D)0x14
45./** @addtogroup Peripheral_registers_structures
* @{
*/
/**
* @brief Analog to Digital Converter
*/
typedef struct
{
__IO uint32_t SR;
__IO uint32_t CR1;
__IO uint32_t CR2;
__IO uint32_t SMPR1;
__IO uint32_t SMPR2;
__IO uint32_t JOFR1;
__IO uint32_t JOFR2;
__IO uint32_t JOFR3;
__IO uint32_t JOFR4;
__IO uint32_t HTR;
__IO uint32_t LTR;
__IO uint32_t SQR1;
__IO uint32_t SQR2;
__IO uint32_t SQR3;
__IO uint32_t JSQR;
__IO uint32_t JDR1;
__IO uint32_t JDR2;
__IO uint32_t JDR3;
__IO uint32_t JDR4;
__IO uint32_t DR;
} ADC_TypeDef;
ADC注入通道数据偏移寄存器有4个,其偏移地址为14H-20H,JOFR2的偏移地址为( )
(A)0x14 (B)0x18
(C)0x1c (D)0x20
46.Cortex-M3的提供的流水线是( )
(A)2级 (B)3级
(C)5级 (D)8级
47.Contex – M3处理器的寄存器r14代表( )
(A)通用寄存器
(B)链接寄存器
(C)程序计数器
(D)程序状态寄存器
48.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( )
(A)ENABLE或者DISABLE
(B)SET或者RESTE
(C)YES或者NO
(D)SUCCESS或者ERROR
49.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( )
(A)ENABLE或者DISABLE
(B)SUCCESS或者ERROR
(C)SET或者RESTE
(D)YES或者NO
50.DMA控制器可编程的数据传输数目最大为( )。
A.65536 B.65535
C.1024 D.4096
51.STM32中,1 个DMA请求占用至少( )个周期的CPU 访问系统总线时间。
A.1 B.2
C.3 D.4
52.STM32的USART根据( )寄存器M位的状态,来选择发送8位或者9位的数据字。
A.USART_CR1 B.USART_CR2
C.USART_BRR D.USART_CR3
53.下面不属于STM32的bxCAN的主要工作模式为( )。
A.初始化模式 B.正常模式
C.环回模式 D.睡眠模式
54.和PC系统机相比嵌入式系统不具备以下哪个特点( )。
A、系统内核小 B、专用性强
C、可执行多任务 D、系统精简
55.嵌入式系统有硬件和软件部分构成,以下( )不属于嵌入式系统软件。
A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件
56.在APB2上的I/O脚的翻转速度为( )。
A.18MHz B.50MHz
C.36MHz D.72MHz
57.当输出模式位MODE[1:0]=“10”时,最大输出速度为( )。
A.10MHz B.2MHz
C.50MHz D.72MHz
58.在ADC的扫描模式中,如果设置了DMA位,在每次EOC后,DMA控制器把规则组通道的转换数据传输到( )中。
A.SRAM B.Flash
C.ADC_JDRx寄存器 D.ADC_CR1
59.STM32规则组由多达( )个转换组成。
A.16 B.18
C.4 D.20
60.在STM32中,( )寄存器的ALIGN位选择转换后数据储存的对齐方式。
A.ADC_CR2 B.ADC_JDRx
C.ADC_CR1 D.ADC_JSQR
61.ARM Cortex-M3不可以通过( )唤醒CPU。
A.I/O端口 B.RTC 闹钟
C.USB唤醒事件 D.PLL
62.STM32嵌套向量中断控制器(NVIC) 具有( ) 个可编程的优先等级。
A.16 B.43
C.72 D.36
64.STM32的外部中断/事件控制器(EXTI)支持( )个中断/事件请求。
A.16 B.43
C.19 D.36
65.STM32的USART根据( )寄存器M位的状态,来选择发送8位或者9位的数据字。
A.USART_CR1 B.USART_CR2
C.USART_BRR D.USART_CR3
66.DMA控制器可编程的数据传输数目最大为( )。
A.65536 B.65535
C.1024 D.4096
67.每个DMA通道具有( )个事件标志。
A.3 B.4
C.5 D.6
68.STM32中,1 个DMA请求占用至少( )个周期的CPU 访问系统总线时间。
A.1 B.2
C.3 D.4
二、判断题
1.Cortex-M3系列处理器支持Thumb指令集。( )
2.Cortex-M3系列处理器支持Thumb-2指令集。( )
3.Contex-M3系列处理器内核采用了哈佛结构的三级流水线。( )
4.Cortex-M系列不支持Thumb-2指令集。( )
5.Contex-M3系列处理器内核采用了冯诺依曼结构的三级流水线。( )
6.STM32系列MCU在使用电池供电时,提供3.3~5V的低电压工作能力。( )
7.STM32处理器的LQPF100封装芯片的最小系统只需7个滤波电容作为外围器件。( )
8.Cortex-M3在待机状态时保持极低的电能消耗,典型的耗电值仅为2µA。( )
9.当处理器在Thread模式下,代码一定是非特权的。( )
10.Context-M3处理器可以使用4个堆栈。( )
11.在系统复位后,所有的代码都使用Main栈。( )
12.高寄存器可以被所有的32位指令访问,也可以被16位指令访问。( )
13.在系统层,处理器状态寄存器分别为:APSR,IPSR, PPSR。( )
14.APSR程序状态寄存器的28位,当V=0,表示结果为无益处。( )
15.Cortex-M3只可以使用小端格式访问代码。( )
16.所谓不可屏蔽的中断就是优先级不可调整的中断。( )
17.向量中断控制器只负责优先级的分配与管理,中断的使能和禁止和它无关。( )
18.Cortex-M3体系架构中,有了位带位操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。( )
19.Cortex-M3体系架构中,有两个区中实现了位带:一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设 区的最低 1MB 范围。( )
20.stm3210xx的固件库中,RCC_DeInit函数是将RCC寄存器重新设置为默认值。( )
21.stm3210xx的固件库中,RCC_PCLK2Config函数是用于设置低速APB时钟。( )
22.STM32的串口既可以工作在全双工模式下,也可工作在半双工模式下。( )
23.STM32的串口既可以工作在异步模式下,也可工作在同步模式下。( )
24.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以32位字的方式访问。( )
25.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为输入时可以是激活的或者非激活的。( )
26.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为输出时可以是激活的或者非激活的。( )
27.端口输入数据寄存器的复位值为00000000H。( )
28.端口输入数据寄存器位[15:0]是只读的,并且仅能按字访问,它们包含相关I/O端口的输入值。( )
29.端口输入数据寄存器位[7:0]是只读的,并且仅能按字访问,它们包含相关I/O端口的输入值。( )
30.固件包里的Library文件夹包括一个标准的模板工程,该工程编译所有的库文件和所有用于创建一个新工程所必须的用户可修改文件。( )
31.从是否可编程的角度 ,中断可分为固定优先级中断和可调整优先( )
32.从某种意义上说,异常就是中断。( )
33.所谓不可屏蔽的中断就是优先级不可调整的中断。( )
34.向量中断控制器只负责优先级的分配与管理,中断的使能和禁止和它无关。( )
35.中断的优先级和它在中断向量表里的位置没有关系。( )
36.当抢占式优先级不一样时,一定会发生抢占。( )
37.向量中断控制器允许有相同的优先级。( )
38.如果两个中断的抢占式优先级相同,则按先来后到的顺序处理。( )
39ADC主要完成模/数转换功能。( )
40.STM32 ADC是一个12位的连续近似模拟到数字的转换器。( )
41.ADC转换器在每次结束一次转换后触发一次DMA传输。( )
42.由AD的有限分辨率而引起的误差称为量化误差。( )
43.转换速率是指完成一次从模拟到数字的AD转换所需的时间。( )
44.STM32 ADC只可以在单一模式下工作。( )
45.如果规则转换已经在运行,为了注入转换后确保同步,所有的ADC的规则转换被停止,并在注入转换结束时同步恢复。( )
三、填空题
1. ST公司的STM32系列芯片采用了 内核,其分为两个系列。
系列为标准型,运行频率为 ; 系列为标准型,运行频率为 。
2.当STM32的I/O端口配置为输入时, 被禁止, 被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的 被连接。出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对 的读访问可得到I/O状态。
3.STM32的所有端口都有外部中断能力。当使用 时,相应的引脚必须配置成 。
4.STM32具有单独的位设置或位清除能力。这是通过 和 寄存器来实现的。
5.ST公司还提供了完善的通用IO接口库函数,其位于 ,对应的头文件为 。
6.为了优化不同引脚封装的外设数目,可以把一些 重新映射到其他引脚上。这时,复用功能不再映射到 上。在程序上,是通过设置 来实现引脚的重新映射。
7.STM32芯片内部集成的 位ADC是一种逐次逼近型模拟数字转换器,具有
个通道,可测量 个外部和 个内部信号源。
8.在STM32中,只有在 的转换结束时才产生DMA请求,并将转换的数据从 寄存器传输到用户指定的目的地址。
9.在有两个ADC的STM32器件中,可以使用 模式。在 模式里,根据 寄存器中 位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。
10.ADC的校准模式通过设置 寄存器的 位来启动。
11.在STM32中, 寄存器的 位选择转换后数据储存的对齐方式。
12.在STM32内部还提供了 ,可以用来测量器件周围的温度。温度传感器在内部和 输入通道相连接,此通道把传感器输出的电压转换成数字值。内部参考电压 和 相连接。
13.STM32的 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现 的中断处理,并有效地处理 中断。
14.STM32的外部中断/事件控制器(EXTI)由 个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置 。每个输入线都可以被独立的屏蔽。 保持着状态线的中断要求。
15.STM32的EXTI线16连接到 。
16.STM32的EXTI线17连接到 。
17.STM32的EXTI线18连接到 。
18.STM32的 为通用同步异步收发器,其可以与使用工业标准 异步串行数据格式的外部设备之间进行全双工数据交换。
19.STM32的USART可以利用 发生器提供宽范围的波特率选择。
20.智能卡是一个 通信协议,STM32的智能卡功能可以通过设置USART_CR3寄存器的 位来选择。
22.系统计时器(SysTick)提供了1个 的计数器,具有灵活的控制机制
23.STM32的通用定时器TIM,是一个通过 驱动的 位自动装载计数器构成。
24.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为 模式、 模式和 模式。
25.ST公司还提供了完善的TIM接口库函数,其位于 ,对应的头文件为 。
26.TIM1的 只能在重复向下计数达到0的时候产生。这对于能产生PWM信号非常有用。
27.TIM1具备 位可编程预分频器,时钟频率的分频系数为 之间的任意数值。
28.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为 复位、
复位和 复位。
29.STM32还提供了用户可通过多个预分频器,可用来进一步配置 、高速 和低速 域的频率。
30.用户可用通过 Hz外部振荡器,为系统提供更为精确的主时钟。在时钟控制寄存器 中的 位用来指示高速外部振荡器是否稳定。
31.ST公司还提供了完善的RCC接口库函数,其位于 ,对应的头文件为 。
32.当STM32复位后, 将被选为系统时钟。当时钟源被直接或通过PLL 间接作为系统时钟时,它将不能被 。只有当 准备就绪了(经过启动稳定阶段的延迟或PLL 稳定),才可以从一个时钟源切换到另一个时钟源。在被选择时钟源没有就绪时,系统时钟的切换 。
33.在STM32中,备份寄存器是 位的寄存器,共 个,可以用来存储 个字节的用户应用程序数据。
34.备份寄存器位于 里,当 被切断,他们仍然由 维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们 被复位。
35.STM32的备份寄存器还可以用来实现 校准功能。为方便测量,32.768kHz的RTC 时钟可以输出到 引脚上。通过设置RTC 校验寄存器(BKP_RTCCR)的
位来开启这一功能。
36.当STM32的 引脚上的信号发生跳变时,会产生一个侵入检测事件,这将使所有数据备份寄存器 。
37.ST公司还提供了完善的备份寄存器接口库函数,其位于 ,对应的头文件为 。
38.STM32的DMA 控制器有 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个 来协调各个DMA 请求的优先权。
39.在DMA处理时,一个事件发生后,外设发送一个请求信号到 。DMA 控制器根据通道的 处理请求。
40.DMA控制器的每个通道都可以在有固定地址的 和 之间执行DMA传输。DMA传输的数据量是可编程的,可以通过 寄存器中的
和 位编程。
41.ST公司还提供了完善的DMA接口库函数,其位于 ,对应的头文件为 。
45.在STM32中,从外设(TIMx、ADC、SPIx、I2Cx 和USARTx)产生的7个请求,通过逻辑 输入到DMA控制器,这样同时 个请求有效。
四、简答题
1、什么是嵌入式系统?嵌入式系统一般由哪几部分构成?
2、ARM v7的体系结构可以分为哪几个子版本(款式),分别应用在什么领域?
3、Cortex-M3的处理器有那两种工作模式和状态?如何进行工作模式和状态的切换?
4、Cortex-M3的存储空间可以分为哪几个部分,每一部分的地址范围是怎样的?
5、什么是位绑定区、位绑定别名区?它们有怎样的关系?
6、基于CMSIS标准的软件架构分为那几层?其中的CMSIS层一般由哪几部分组成?
7、简述STM32固件库命名规则。
8、STM32共有那几种基本时钟信号?
9、简述设置系统时钟的基本流程。
10、STM32的GPIO的配置模式有那几种?如何进行配置模式的配置?
11、简述STM32的不同复用功能的重映射功能。
12、简述嵌套向量中断控制器(NVIC)的主要特性。
13、简述STM32的优先级划分与抢占的过程。
14、简述STM32的USART的功能特点。
15、如何设置STM32的串口的波特率。
16、STM32高级定时器有哪些功能?
17、已知STM32的系统时钟为72MHz,如何设置相关寄存器,实现20ms定时?
18、简述DMA控制器的基本功能。
19、、请描述DMA通道的工作模式、工作原理。
20、简述STM32的ADC系统的功能特性。
21、简述STM32的双ADC工作模式。
五、编程与应用题
1、在一个STM32点亮LED的程序中,部分代码如下:
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
…
while (1)
{
/*循环点亮LED*/
GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x01); //①
Delay(0XFFFFF);
GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x00); //②
Delay(0XFFFFF);
GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x01); //③
Delay(0XFFFFF
展开阅读全文