文档库 最新最全的文档下载
当前位置:文档库 › STM32考试习题及答案讲解

STM32考试习题及答案讲解

STM32考试习题及答案讲解
STM32考试习题及答案讲解

STM32考试习题及答案

一、填空题

1.当STM32的I/O端口配置为输入时,输出缓冲器被禁止,施密特触发输入被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的弱上拉和下拉电阻被连接。出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对输入数据寄存器的读访问可得到I/O状态。

2.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成输入模式。

3.STM32具有单独的位设置或位清除能力。这是通过GPIOx_BSRR 和GPIOx_BRR 寄存器来实现的。

4.ST公司还提供了完善的通用IO接口库函数,其位于stm32f10x_gpio.c ,对应的头文件为stm32f10x_gpio.h 。

5.为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR) 来实现引脚的重新映射。

二、选择题

1.在APB2上的I/O脚的翻转速度为(A )。

A.18MHz B.50MHz

C.36MHz D.72MHz

4.当输出模式位MODE[1:0]=“10”时,最大输出速度为(B )。

A.10MHz B.2MHz

C.50MHz D.72MHz

三、简答题

1.简述不同复用功能的重映射。

答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)来实现引脚的重新映射。各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。

2.简述STM32的GPIO的一些主要特点(至少5个)。

答:主要特点如下:

?通用I/O,可以作为输出、输入等功能。

?单独的位设置或位清除。

?外部中断/唤醒线。

?复用功能(AF)和重映射。

?GPIO锁定机制。

四、编程题

编写一个初始化定时器的程序。

答:由于还没有讲到定时器相关的知识,所以这里旨在让读者给出定时器对GPIO端口的设置要求,程序示例如下:

GPIO_InitTypeDef GPIO_InitStructure;

/* GPIOC Configuration: Pin6, 7, 8 and 9 in Output */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 |GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure);

一、填空题

1.STM32芯片内部集成的12 位ADC是一种逐次逼近型模拟数字转换器,具有18 个通道,可测量16 个外部和 2 个内部信号源。

2.在STM32中,只有在规则通道的转换结束时才产生DMA请求,并将转换的数据从ADC_DR 寄存器传输到用户指定的目的地址。

3.在有两个ADC的STM32器件中,可以使用双ADC 模式。在双ADC 模式里,根据ADC_CR1 寄存器中DUALMOD[2:0] 位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。

4.ADC的校准模式通过设置ADC_CR2 寄存器的CAL 位来启动。

5.在STM32中,ADC_CR2 寄存器的ALIGN 位选择转换后数据储存的对齐方式。

6.在STM32内部还提供了温度传感器,可以用来测量器件周围的温度。温度传感器在内部和ADC_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。内部参考电压VREFINT 和ADC_IN17 相连接。

二、选择题

1.哪些是STM32的ADC系统的特点(多选)(ABCD )。

A.12-位分辨率B.自校准

C.可编程数据对齐D.单次和连续转换模式

2.在ADC的扫描模式中,如果设置了DMA位,在每次EOC后,DMA控制器把规则组通道的转换数据传输到( A )中。

A.SRAM B.Flash

C.ADC_JDRx寄存器D.ADC_CR1

3.STM32规则组由多达( A )个转换组成。

A.16 B.18

C.4 D.20

4.在STM32中,(A )寄存器的ALIGN位选择转换后数据储存的对齐方式。

A.ADC_CR2 B.ADC_JDRx

C.ADC_CR1 D.ADC_JSQR

三、简答题

1.简述STM32的ADC系统的功能特性。

答:STM32的ADC系统的主要功能特性包括如下几个方面:ADC开关控制、ADC时钟、ADC通道选择、ADC的转换模式、中断、模拟看门狗、ADC的扫描模式、ADC的注入通道管理、间断模式、ADC的校准模式、ADC的数据对齐、可编程的通道采样时间、外部触发转换、DMA请求、双ADC模式和温度传感器。

2.简述STM32的双ADC工作模式。

答:在有两个ADC的STM32器件中,可以使用双ADC模式。在双ADC模式里,根据ADC_CR1寄存器中DUALMOD[2:0]位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。双ADC工作模式主要包括如下几种:同时注入模式、同时规则模式、快速交替模式、慢速交替模式、交替触发模式和独立模式。

一、填空题

1.STM32的嵌套向量中断控制器(NVIC) 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现低延迟的中断处理,并有效地处理晚到中断。

2.STM32的外部中断/事件控制器(EXTI)由19 个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以被独立的屏蔽。挂起寄存器保持着状态线的中断要求。

3.STM32的EXTI线16连接到PVD输出。

4.STM32的EXTI线17连接到RTC闹钟事件。

5.STM32的EXTI线18连接到USB唤醒事件。

二、选择题

1.ARM Cortex-M3不可以通过( D )唤醒CPU。

A.I/O端口B.RTC 闹钟

C.USB唤醒事件D.PLL

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

A.16 B.43

C.72 D.36

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

A.16 B.43

C.19 D.36

三、简答题

1.简述嵌套向量中断控制器(NVIC)的主要特性。

答:STM32的嵌套向量中断控制器(NVIC) 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现低延迟的中断处理,并有效地处理晚到的中断。STM32嵌套向量中断控制器(NVIC)的主要特性如下:

?具有43 个可屏蔽中断通道(不包含16 个Cortex-M3 的中断线)。

?具有16 个可编程的优先等级。

?可实现低延迟的异常和中断处理。

?具有电源管理控制。

?系统控制寄存器的实现。

一、填空题

1.STM32的USART 为通用同步异步收发器,其可以与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。

2.STM32的USART可以利用分数波特率发生器提供宽范围的波特率选择。

3.智能卡是一个单线半双工通信协议,STM32的智能卡功能可以通过设置USART_CR3寄存器的SCEN 位来选择。

4.STM32提供了CAN总线结构,这是一种基本扩展CAN(Basic Extended CAN),也就是bxCAN 。

二、选择题

1.STM32的USART根据( A )寄存器M位的状态,来选择发送8位或者9位的数据字。

A.USART_CR1 B.USART_CR2

C.USART_BRR D.USART_CR3

2.STM32的bxCAN的主要工作模式为(ABD )。

A.初始化模式B.正常模式

C.环回模式D.睡眠模式

3.在程序中,可以将CAN_BTR寄存器的(AB )位同时置1,来进入环回静默模式。(多选)

A.LBKM B.SILM

C.BTR D.以上都不是

三、简答题

1.简述STM32的USART的功能特点。、

答:STM32的USART为通用同步异步收发器,其可以与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART还可以利用分数波特率发生器提供宽范围的波特率选择。

STM32的USART支持同步单向通信和半双工单线通信。同时,其也支持LIN(局部互连网),智能卡协议和IrDA(红外数据)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。STM32还具备多处理器通信能力。另外,通过多缓冲器配置的DMA方式,还可以实现高速数据通信。

一、填空题

1.系统计时器(SysTick)提供了1个24位、降序、零约束、写清除的计数器,具有灵活的控制机制。

2.STM32的通用定时器TIM,是一个通过可编程预分频器驱动的16 位自动装载计数器构成。

3.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和中央对齐模式。

4.ST公司还提供了完善的TIM接口库函数,其位于stm32f10x_tim.c ,对应的头文件为stm32f10x_tim.h 。

二、选择题

1.通用定时器TIMx的特性(ABCD )。(多选)

A.具备16位向上,向下,向上/向下自动装载计数器。

B.具备16位可编程预分频器。

C.具备4个独立通道。

D.可以通过事件产生中断,中断类型丰富,具备DMA功能。

2.通用定时器TIMx的特殊工作模式包括(ABCD )。(多选)

A.输入捕获模式B.PWM 输入模式

C.输出模式D.单脉冲模式(OPM)

3.STM32的可编程通用定时器的时基单元包含(ABC )。(多选)

A.计数器寄存器(TIMx_CNT)

B.预分频器寄存器(TIMx_PSC)

C.自动装载寄存器(TIMx_ARR)

D.以上都不是

三、简答题

1.简述STM32TIM的计数器模式。

答:STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和中央对齐模式(向上/向下计数)。

四、编程题

给出PWM模式下配置TIM外设的程序代码。

答:

/* Time Base configuration */

TIM_TimeBaseStructure.TIM_Prescaler = 0;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseStructure.TIM_Period = 4095;

TIM_TimeBaseStructure.TIM_ClockDivision = 0;

TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;

TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);

/* Channel 1, 2,3 and 4 Configuration in PWM mode */

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;

TIM_OCInitStructure.TIM_Pulse = CCR1_Val;

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;

TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;

TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;

TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;

TIM_OC1Init(TIM1, &TIM_OCInitStructure);

TIM_OCInitStructure.TIM_Pulse = CCR2_Val;

TIM_OC2Init(TIM1, &TIM_OCInitStructure);

TIM_OCInitStructure.TIM_Pulse = CCR3_Val;

TIM_OC3Init(TIM1, &TIM_OCInitStructure);

TIM_OCInitStructure.TIM_Pulse = CCR4_Val;

TIM_OC4Init(TIM1, &TIM_OCInitStructure);

/* TIM1 counter enable */

TIM_Cmd(TIM1, ENABLE);

/* TIM1 Main Output Enable */

TIM_CtrlPWMOutputs(TIM1, ENABLE);

一、填空题

1.除了通用定时器外,STM32还提供了一个高级控制定时器TIM1 。TIM1 由一个16 位的自动装载计数器组成,它由一个可编程预分频器驱动。

2.TIM1的溢出/下溢时更新事件(UEV) 只能在重复向下计数达到0的时候产生。这对于能产生PWM信号非常有用。

3.TIM1具备16 位可编程预分频器,时钟频率的分频系数为1~65535 之间的任意数值。

4.ST公司还提供了完善的TIM1接口库函数,其位于stm32f10x_tim1.c ,对应的头文件为stm32f10x_tim1.h 。

二、选择题

1.STM32的可编程TIM1定时器的时基单元包含(ABCD )。(多选)A.计数器寄存器(TIM1_CNT)

B.预分频器寄存器(TIM1_PSC)

C.自动装载寄存器(TIM1_ARR)

D.周期计数寄存器(TIM1_RCR)

2.高级定时器TIM1的特性(ABCD )。(多选)

A.具备16位上,下,上/下自动装载计数器

B.具备16位可编程预分频器。

C.可以在指定数目的计数器周期之后更新定时器寄存器。

D.可以通过事件产生中断,中断类型丰富,具备DMA功能。

3.定时器TIM1的特殊工作模式包括(ABCD )。(多选)

A.输入捕获模式B.PWM 输入模式

C.编码器接口模式D.单脉冲模式(OPM)

三、简答题

1.简述STM32的高级控制定时器TIM1的结构。

答:STM32提供了一个高级控制定时器(TIM1)。TIM1由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。TIM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。

高级控制定时器TIM1和通用控制定时器TIMx是完全独立的,它们不共享任何资源,因此可以同步操作。

1.STM32的DMA 控制器有7 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个仲裁器来协调各个DMA 请求的优先权。

2.在DMA处理时,一个事件发生后,外设发送一个请求信号到DMA控制器。DMA 控制器根据通道的优先权处理请求。

3.DMA控制器的每个通道都可以在有固定地址的外设寄存器和存储器地址之间执行DMA传输。DMA传输的数据量是可编程的,可以通过DMA_CCRx 寄存器中的PSIZE 和MSIZE 位编程。

4.ST公司还提供了完善的DMA接口库函数,其位于stm32f10x_dma.c ,对应的头文件为stm32f10x_dma.h 。

5.在STM32中,从外设(TIMx、ADC、SPIx、I2Cx 和USARTx)产生的7个请求,通过逻辑与输入到DMA控制器,这样同时只能有一个请求有效。

二、选择题

1.STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三种时钟源分别为(ABC )。

A.HSI振荡器时钟B.HSE振荡器时钟

C.PLL时钟D.HLI振荡时钟

2.在STM32中,当(AB )发生时,将产生电源复位。(多选)

A.从待机模式中返回B.上电/掉电复位(POR/PDR复位)

C.NRST管脚上的低电平D.PLL

3.,以下哪个时钟信号可被选作MCO 时钟(ABCD )。(多选)

A.SYSCLK B.HSI

C.HSE

2.简述STM32时钟的类型。

答:STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三种时钟源分别为:

?HSI振荡器时钟

?HSE振荡器时钟

?PLL时钟

这三种时钟源还可以有以下2种二级时钟源:

?32kHz低速内部RC,可以用于驱动独立看门狗和RTC。其中,RTC用于从停机/待机模式下自动唤醒系统。

?32.768kHz低速外部晶振也可用来驱动RTC(RTCCLK)。

任一个时钟源都可被独立地启动或关闭,这样可以通过关闭不使用的时钟源来优化整个系统的功耗。

3.简述STM32实时时钟RTC的配置步骤。

答:在程序中,配置RTC寄存器步骤如下:

(1)查询RTC_CR 寄存器中的RTOFF位,直到RTOFF的值变为“1”,表示前一次写操作结束。

(2)置CNF值为1,进入配置模式。

(3)对一个或多个RTC 寄存器进行写操作。

(4)清除CNF 标志位,退出配置模式。

(5)查询RTOFF,直至RTOFF 位变为“1”以确认写操作已经完成。

stm32试题及答案

STM32习题集 一、选择题 1.Cortex-M处理器采用的架构是( D ) (A)v4T (B)v5TE (C)v6 (D)v7 2.NVIC可用来表示优先权等级的位数可配置为是( D ) (A)2 (B)4 (C)6 (D)8 3.Cortex-M系列正式发布的版本是( A ) (A)Cortex-M3 (B)Cortex-M4 (C)Cortex-M6 (D)Cortex-M8 4.Cortex-M3的提供的流水线是( B ) (A)2级(B)3级(C)5级(D)8级 5.Cortex-M3的提供的单周期乘法位数是( C ) (A)8 (B)16 (C)32 (D)64 6.STM32处理器的USB接口可达(B ) (A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s 4.下面是Context-M3处理器代码执行方式的是( A ) (A)特权方式(B)普通方式(C)Handle方式(D)Thread方式5.下面是Context-M3处理器的工作模式的是( A ) (A)Thread模式(B)Thumb模式(C)Thumb-2模式(D)Debug模式6.下列是Cortex – M3 处理器可以使用的堆栈的栈是( B ) (A)线程栈(B)进程栈(C)多线程栈(D)空栈7.Context – M3处理器的寄存器r14代表( B ) (A)通用寄存器(B)链接寄存器(C)程序计数器(D)程序状态寄存器 8.Handle模式一般使用( A ) (A)Main_SP (B)Process_SP (C)Main_SP和Process_SP (D)Main_SP或Process_SP 9.Cortex – M3使用的存储器格式是( D ) (A)小端格式(B)大端格式(C)小端或大端格式(D)没有正确答案 10.Cortex – M3的存储格式中专用外设总线区域可以使用( A ) (A)小端格式(B)大端格式(C)小端或大端格式(D)没有正确答案 11.每个通用I/O端口有()个32位的配置寄存器,()个32位的数据寄存器,()个32位的置位/复位寄存器,()个16位的复位寄存器,(B )个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.( A )寄存器的目的就是用来允许对GPIO寄存器进行原子的读/修改操作 (A)GPIOX_BSRR和GPIOX_BRR (B)GPIOX_CRL和GPIOX_CRH (C)GPIOX_BSRR和GPIOX_LCKR (D)GPIOX_IDR和GPIOX_ODR 13.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为( A )时可以是激活的或者非激活的 (A)输入(B)输出(C)推挽(D)开漏 14.端口输入数据寄存器的地址偏移为( B ) (A)00H (B)08H(C)0CH (D)04H

STM32练习题2(关于IO,有答案)

一、填空题 1.当STM32的I/O端口配置为输入时,输出缓冲器被禁止,施密特触发输入被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的弱上拉和下拉电阻被连接。出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对输入数据缓冲器的读访问可得到I/O状态。 2.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成输入模式。 3.STM32具有单独的位设置或位清除能力。这是通过_GPIOx BSRR____和GPIOx BRR 寄存器来实现的。 4.ST公司还提供了完善的通用IO接口库函数,其位于stm32f10x_gpio.c ,对应的头文件为stm32f10x_gpio.h。 5.为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO MAPR) 来实现引脚的重新映射。 二、选择题 1.在APB2上的I/O脚的翻转速度为(A)。 A.18MHz B.50MHz C.36MHz D.72MHz 4.当输出模式位MODE[1:0]=“10”时,最大输出速度为(B)。 A.10MHz B.2MHz C.50MHz D.72MHz 三、简答题 1.简述不同复用功能的重映射。 答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO MAPR) 来实现引脚的重新映射。 2.简述STM32的GPIO的一些主要特点(至少5个)。 答: 1.通用IO,可以作为输入、输出等功能。 2.单独的位设置和位清除 3.外部中断唤醒线 4.复用功能/重映射 5.GPIO锁定机制 四、编程题 编写一个初始化定时器的程序。 GPIO_InitTypedef GPIO_InitStructure; GPIO_InitStructure.GPIO_pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_pp; GPIO_InitStructure.GPIO_Speed=GPIO_Seep_50Mhz; GPIO_Init(GPIOC,&GPIO_InitStructure);

stm32试题

1.Cortex-M处理器采用的架构是( D) (A)v4T (B)v5TE (C)v6 (D)v7 2.NVIC可用来表示优先权等级的位数可配置为是(D ) (A)2 (B)4 (C)6 (D)8 4.Cortex-M3的提供的流水线是( B) (A)2级(B)3级(C)5级(D)8级 5.Cortex-M3的提供的单周期乘法位数是(C ) (A)8 (B)16 (C)32 (D)64 6.STM32处理器的USB接口可达( B ) (A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s 7.Context – M3处理器的寄存器r14代表( B ) (A)通用寄存器(B)链接寄存器(C)程序计数器(D)程序状态寄存器 8.Handle模式一般使用(A ) (A)Main_SP (B)Process_SP (C)Main_SP和Process_SP (D)Main_SP或Process_SP 11.每个通用I/O端口有()个32位的配置寄存器,()个32位的数据寄存器,()个32位的置位/复位 寄存器,()个16位的复位寄存器,( B )个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.(A )寄存器的目的就是用来允许对GPIO寄存器进行原子的读/修改操作 (A)GPIOX_BSRR和GPIOX_BRR (B)GPIOX_CRL和GPIOX_CRH(C)GPIOX_BSRR和GPIOX_LCKR (D)GPIOX_IDR和GPIOX_ODR 13.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为( A)时可以是激活的或者非激活的 (A)输入(B)输出(C)推挽(D)开漏 14.端口输入数据寄存器的地址偏移为( B ) (A)00H (B)08H(C)0CH (D)04H 17.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以( B )的方式访问 (A)16位字(B)16位字节(C)32位字节(D)32位字 19.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( A) (A)ENABLE或者DISABLE (B)SUCCESS或者ERROR (C)SET或者RESTE (D)YES或者NO 20.STM32F107V有( C )可屏蔽中断通道 (A)40 (B)50 (C)60 (D)70 21.STM32F107V采用( B )位来编辑中断的优先级 (A)4 (B)8 (C)16 (D)32 22.向量中断控制器最多可支持( C )个IRQ中断 (A)127 (B)128 (C)240 (D)255 23.系统控制寄存器 NVIC 和处理器内核接口紧密耦合,主要目的是( C ) (A)结构更紧凑,减小芯片的尺寸 (B)连接更可靠,减小出错的概率 (C)减小延时,高效处理最近发生的中断 (D)无所谓,没有特别的意思,远一点也没有关系 24.关于中断嵌套说法正确的是(B ) (A)只要响应优先级不一样就有可能发生中断嵌套 (B)只要抢占式优先级不一样就有可能发生中断嵌套 (C)只有抢占式优先级和响应优先级都不一才有可能发生中断嵌套 (D)以上说法都不对 25.在STM32107向量中断控制器管理下,可将中断分为(B )组

ARM原理及应用复习题(附答案)

《ARM原理及应用》复习题 填空题 1.STM32F103是_32_位单片机,内核是ARM公司的___Cortex-M3___。 2.STM32F103最高工作频率___72MHz___。片内具有多种外设,它们分别是:_GPIO_、_USART_、_I2C_、_SPI_、_ADC_、_DAC_、_TIM_、_RTC_、_IWDG_、_WWDG_。 IWDG:独立看门狗 WWDG:窗口看门狗 3.STM32103的GPIO端口具有多种配置状态,输入有3种状态,它们分别是_模拟输入_、_浮空输入__和上拉/下拉输入;输出有4种状态,它们分别是_通用推挽输出_、_通用开漏输出_、_复用推挽输出_和_复用开漏输出_。 5.当STM32I/O端口配置为输入时,输出功能被_禁止_,施密特触发器被激活__。 6.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成 输入模式。 7.STM32具有单独的位设置或位清除能力。这是通过GPIOx->BSRR_和GPIOx->BRR寄存器来实现的。 8.STM32芯片内部集成的12位位ADC是一种逐次逼近(比较)型模拟数字转换器,具有18个通道,可测量16个外部和2个内部信号源。 9.STM32的NVIC管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现时延的中断处理,并有效地处理后到中断。 10.系统计时器(SysTick)提供了1个24位二进制递减计数器,具有灵活的控制机制11.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和向上下计数模式。 12.STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为上电复位、按键复位和备份复位。 简答题 1.什么是嵌入式系统?嵌入式系统一般由哪几部分构成?它与通用计算机有何区别? 答: 是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,具有“嵌入性”、“专用性”和“计算机系统”3个基本要素。//它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。//嵌入式系统通常执行的是带有特定要求的预先定义的任务,强调控制能力与控制的可靠性;而通用计算机则可以通过安装各种软件执行各种不同的任务,强调高速、海量的数值计算。 2.ARM Cortex-M3有何特点? 答: 采用哈佛结构的32位处理器内核,具有高性能、实时功能、数字信号处理、低功耗与低电压操作特性,同时还保持了集成度高和易于开发的特点。 3.简述Cortex-M3系统滴答定时器的功能和作用。 答:

STM32期末考试答案解析详解

简述嵌套向量中断控制器(NVI C)的主要特性。 答:STM32的嵌套向量中断控制器(NVIC) 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现低延迟的中断处理,并有效地处理晚到的中断。STM32嵌套向量中断控制器(NVIC)的主要特性如下:q 具有43 个可屏蔽中断通道(不包含16 个Cortex-M3 的中断线)。q 具有16 个可编程的优先等级。q 可实现低延迟的异常和中断处理。q 具有电源管理控制。q 系统控制寄存器的实现。 1.简述STM32的ADC系统的功能特性。 答:STM32的ADC系统的主要功能特性包括如下几个方面:ADC开关控制、ADC时钟、ADC通道选择、ADC的转换模式、中断、模拟看门狗、ADC的扫描模式、ADC的注入通道管理、间断模式、ADC 的校准模式、ADC的数据对齐、可编程的通道采样时间、外部触发转换、DMA请求、双ADC模式和温度传感器。 2.简述STM32的双ADC工作模式。 答:在有两个ADC的STM32器件中,可以使用双ADC模式。在双ADC模式里,根据ADC_CR1寄存器中DUALMOD[2:0]位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。双ADC工作模式主要包括如下几种:同时注入模式、同时规则模式、快速交替模式、慢速交替模式、交替触发模式和独立模式。 1.简述STM32的USART的功能特点。、 答:STM32的USART为通用同步异步收发器,其可以与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART还可以利用分数波特率发生器提供宽范围的波特率选择。STM32的USART支持同步单向通信和半双工单线通信。同时,其也支持LIN(局部互连网),智能卡协议和IrDA(红外数据)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。STM32还具备多处理器通信能力。另外,通过多缓冲器配置的DMA方式,还可以实现高速数据通信。 1.简述STM32的高级控制定时器TIM1的结构。

STM32考试习题集与答案解析

STM32考试习题及答案 一、填空题 1.当STM32的I/O端口配置为输入时,输出缓冲器被禁止,施密特触发输入被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的弱上拉和下拉电阻被连接。出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对输入数据寄存器的读访问可得到I/O状态。 2.STM32的所有端口都有外部中断能力。当使用外部中断线时,相应的引脚必须配置成输入模式。 3.STM32具有单独的位设置或位清除能力。这是通过GPIOx_BSRR 和GPIOx_BRR 寄存器来实现的。 4.ST公司还提供了完善的通用IO接口库函数,其位于stm32f10x_gpio.c ,对应的头文件为stm32f10x_gpio.h 。 5.为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR) 来实现引脚的重新映射。 二、选择题 1.在APB2上的I/O脚的翻转速度为(A )。 A.18MHz B.50MHz C.36MHz D.72MHz 4.当输出模式位MODE[1:0]=“10”时,最大输出速度为(B )。 A.10MHz B.2MHz C.50MHz D.72MHz 三、简答题 1.简述不同复用功能的重映射。 答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)来实现引脚的重新映射。各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。 2.简述STM32的GPIO的一些主要特点(至少5个)。 答:主要特点如下:

stm32嵌入式试题

第一章、为什么学习STM32 STM32是一系列以ARM Cortex-M为内核的32位嵌入式微控制器。 第二章、初识STM32库 1.什么是启动文件?启动文件的作用是什么?具体实现了哪些功能? 启动文件是任何处理器在上电复位之后最先运行的一段汇编程序。在我们编写的c语言代码运行之前,需要由汇编为c语言的运行建立一个合适的环境,接下来才能运行我们的程序main函数。所以我们也要把启动文件添加进我们的的工程中去。 ?初始化堆栈指针SP; ?初始化程序计数器指针PC; ?设置堆、栈的大小; ?设置异常向量表的入口地址; ?配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM); ?设置C库的分支入口__main(最终用来调用main函数); ?在3.5版的启动文件还调用了在system_stm32f10x.c文件中的SystemIni() 函数配置系统时钟,在旧版本的工程中要用户进入main函数自己调用SystemIni() 函数。 2.stm32f10x_it.c文件的作用是什么? stm32f10x_it.c是专门用来编写中断服务函数的,在我们修改前,这个文件已经定义了一些系统异常的接口,其它普通中断服务函数由我们自己添加。 第四章、深入分析流水灯例程 1.GPIO是什么意思?STM32芯片的GPIO引脚分成哪些组?每组的引脚的号码是什么范围?STM32芯片上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为GPIO (General-purpose I/O)。而GPIO引脚又被分为GPIOA、GPIOB……GPIOG不同的组,每组端口分为0~15,共16个不同的引脚 2.ST库提供了GPIO输出高电平和低电平的函数,分别是什么函数? 用GPIO_SetBit s()控制输出高电平,用GPIO_ResetBit s()控制输出低电平。 3.RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);这句代码实现的功能是什么?实现开启外设GPIOC的时钟。 4.下面三句代码,分别实现什么样的功能?(1)a&=~(1<<6);第7位清零,其他位保持不变(2)a|=(1<<6);第7位置1,其他位保持不变(3)a^=(1<<6);第7位取反,其他位保持不变 第5章调试程序 1.在调试STM32程序时,进行软件仿真和硬件调试,分别使用哪些软件或工具? 用MDK软件仿真,使用JLINK进行硬件调试

stm32-PVD编程要点

下面对上面2张图和表格中的数据做一个简要的解释: 1)PVD = Programmable Votage Detector 可编程电压监测器 它的作用是监视供电电压,在供电电压下降到给定的阀值以下时,产生一个中断,通知软件做紧急处理。在给出表格的上半部分就是可编程的监视阀值数据。当供电电压又恢复到给定的阀值以上时,也会产生一个中断,通知软件供电恢复。供电下降的阀值与供电上升的PVD 阀值有一个固定的差值,这就是表中的V PVDhyst(PVD迟滞)这个参数,通过列出的PVD阀值数据可以看到这个差别。引入这个差值的目的是为了防止电压在阀值上下小幅抖动,而频繁地产生中断。 2)POR = Power On Reset 上电复位;PDR = Power Down Reset 掉电复位。 POR的功能是在VDD电压由低向高上升越过规定的阀值之前,保持芯片复位,当越过这个阀值后的一小段时间后(图中的"滞后时间"或表中的"复位迟滞"),结束复位并取复位向量,开始执行指令。这个阀值就是表中倒数第4行(min=1.8,typ=1.88,max=1.96)。 POR的功能是在VDD电压由高向低下降越过规定的阀值后,将在芯片内部产生复位,这个阀值就是表中倒数第3行(min=1.84,typ=1.92,max=2.0)。 3)可以看到POR比PDR大了0.04V,这就是表中倒数第2行,V PDRhyst(PDR迟滞)=40mV。 4)从上面的第2张图可以看到,当VDD上升越过POR阀值时,内部并不马上结束复位,而是等待一小段时间(Reset temporization),这就是表中的最后一行T RSTTEMPO,它的典型数值是2.5ms。 这个滞后时间是为了等待供电电压能够升高到最低可靠工作电压以上,我们看到POR阀值最小只有1.8V,最大也只有1.96V,都低于数据手册中给出的最低可靠工作电压2.0V,所以这个滞后时间是十分必要的,如果供电电压上升缓慢,尤其是从1.8V升到2.0V以上超过1~2.5ms,则很可能造成上电复位后MCU不能正常工作的情况。 https://www.wendangku.net/doc/867453254.html,/view/f7352fd076a20029bd642db3.html STM32内部自带PVD功能,用于对MCU供电电压VDD进行监控。通过电源控制寄存器中的PLS[2:0]位可以用来设定监控电压的阀值,通过对外部电压进行比较来监控电源。当条件触发,需要系统进入特别保护状态,执行紧急关闭任务:对系统的一些数据保存起来,同时对外设进行相应的保护操作。 操作流程: 1)、系统启动后启动PVD,并开启相应的中断。 PWR_PVDLevelConfig(PWR_PVDLevel_2V8); // 设定监控阀值 PWR_PVDCmd(ENABLE); // 使能PVD EXTI_StructInit(&EXTI_InitStructure); EXTI_InitStructure.EXTI_Line = EXTI_Line16; // PVD连接到中断线16上 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //使用中断模式 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Raising;//电压低于阀值时产生中断 EXTI_InitStructure.EXTI_LineCmd = ENABLE; // 使能中断线

STM32习题集附答案

STM32习题集附答案 一、选择题 1.Cortex-M处理器采用的架构是(D) (A)v4T(B)v5TE(C)v6(D)v72.NVIC可用来表示优先权等级的位数可配置为是(D) (A)2(B)4(C)6(D)8 3.Cortex-M系列正式发布的版本是(A) (A)Cortex-M3(B)Cortex-M4(C)Cortex-M6(D)Cortex-M8 4.Cortex-M3的提供的流水线是(B) (A)2级(B)3级(C)5级(D)8级 5.Cortex-M3的提供的单周期乘法位数是(C) (A)8(B)16(C)32(D)64 6.STM32处理器的USB接口可达(B) (A)8Mbit/s(B)12Mbit/s(C)16Mbit/s(D)24Mbit/s4.下面是Context-M3处理器代码执行方式的是(A) (A)特权方式(B)普通方式(C)Handle方式(D)Thread方式5.下面是Context-M3处理器的工作模式的是(A) (A)Thread模式(B)Thumb模式(C)Thumb-2模式(D)Debug 模式6.下列是Cortex–M3处理器可以使用的堆栈的栈是(B) (A)线程栈(B)进程栈(C)多线程栈(D)空栈7.Context–M3处理器的寄存器r14代表(B)

(A)通用寄存器(B)链接寄存器(C)程序计数器(D)程序状态寄存器 8.Handle模式一般使用(A) (A)Main_SP(B)Process_SP(C)Main_SP和Process_SP(D)Main_SP或Process_SP 9.Cortex–M3使用的存储器格式是(D) (A)小端格式(B)大端格式(C)小端或大端格式(D)没有正确答案 10.Cortex–M3的存储格式中专用外设总线区域可以使用(A) (A)小端格式(B)大端格式(C)小端或大端格式(D)没有正确答案 11.每个通用I/O端口有()个32位的配置寄存器,()个32位的数据寄存器,()个32位的置位/复位寄存器,()个16位的复位寄存器,(B)个32位的锁定寄存器(A)2,1,2,1,1(B)2,2,1,1,1(C)2,2,2,1,1(D)2,2,1,2,112.(A)寄存器的目的就是用来允许对GPIO寄存器进行原子的读/修改操作 (A)GPIOX_BSRR和GPIOX_BRR(B)GPIOX_CRL和GPIOX_CRH(C)GPIOX_BSRR和GPIOX_LCKR(D)GPIOX_IDR和GPIOX_ODR13.所有的GPIO引脚有一个内部微弱的上拉和下拉,当它们被配置为(A)时可以是激活的或者非激活的

《嵌入式技术》期末考试题及答案C(基于STM32)

《嵌入式技术》期末考试题3 一、填空题(20分) 1.如嵌入式系统的设计可以分成三个阶段:分析、和。 2.微处理器有两种总线架构,使用数据和指令使用同一接口的是,分开的指令和数据接口、取指和数据访问可以并行进行的是。 3.ARM核有两个指令集,分别是指令集、指令集。 4.嵌入式系统开发采用的交叉开发环境是由和组成的。 5.STM32单片机程序开发中常用的延时产生方法有和。 二、判断题(20分) 1、我们学习所用的电脑属于嵌入式系统。() 2、小明的手机能拍照并能保存照片其手机内部芯片利用模数转换器。() 3、STM32F1系列单片机跟AT89C52单片机一样得外接晶振。() 4、NVIC只负责优先级的分配与管理,中断的使能和禁止和它无关。() 5、Cortex-M3只可以使用小端格式访问代码。() 三、名词解释(20分) 1、NVIC 2、DAC 3、TIMER 4、DMA 四、简答题(40分) 1、目前使用的嵌入式操作系统主要有那几种(至少举3种)?

2、嵌入式开发环境主要包括哪些组件? 3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作? 4、简述嵌入式系统开发的基本流程。

《嵌入式技术》期末考试题3 参考答案 一、填空题 1、设计实现 2、冯诺依曼哈佛 3、ARM Thumb 4、宿主机目标机 5、软件延时定时器延时 二、判断题 1、? 2、? 3、? 4、? 5、? 三、名词解释 1、中断向量控制器 2、数模转换器 3、定时器 4、直接内存存取 四、简答题 1、答:1)μC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统;5)Symbian操作系统 2、答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括 (1)宿主机 (2)目标机(评估电路板) (3)基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE (4)运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境 3、答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的

STM32测试题

STM32测试题 一年级的小Q同学立志要成为南强电子设计的牛人,于是他向老师请教,老师给了他一片STM32单片机,但是小Q初来乍到,不知道如何使用,你能帮帮小Q吗? 要求利用STM32单片机实现以下功能,以下所有功能写在一个工程中,一次性实现以下尽可能多的功能(多种功能组合): (最高难度情况下的器材:STM32单片机,STLINK烧写器,USB串口,5个LED,8个相同电阻,17条连接线) 1、利用面包板,挑选相关器材,搭建LED电路(5%)和UART(串口)接线(5%)。 要求:STM32管脚高电平时LED亮,低电平时LED暗。 提示:STM32管脚接LED,接电阻,再到GND;UART与USART是基本一样的; UART部分连2条线即可(GND相连,STM32的TX端接USB串口的RX 端);搭建出所需的电路即可得分。 2、利用STM32控制LED闪烁(三选一): 2.1、利用PB0管脚控制LED闪烁。(10%) 要求:LED大约亮0.5秒,暗0.5秒。 2.2、利用定时中断(TIM2),让PB0管脚控制LED闪烁。(20%) 要求:LED精确亮0.5秒,暗0.5秒。 提示:根据电脑上的或手机上的时钟,预估程序的对错。 2.3、利用定时中断(TIM2, TIM4), 分别让PB0和PB1管脚控制两个LED闪烁。 (30%) 要求:PB0控制的LED精确亮0.5秒,暗0.5秒;PB1控制的LED精确 亮0.7秒,暗0.7秒。 提示:根据电脑上的或手机上的时钟,预估程序的对错;要利用到计算 器计算周期,除不尽时,四舍五入。 3、利用STM32管脚控制LED(三选一): 3.1、利用PA11管脚作为输入,控制LED的亮暗。(10%) 要求:PB2接LED,PA11输入电平LED亮,PA11输入低电平LED暗。 3.2、利用PA11的外部中断,点亮LED。(20%) 要求:PB2接LED,LED初始时是暗的,PA11输入高/低电平LED亮。 提示:外部中断利用边缘触发,配置好后,管脚碰一下3V3(一般情况) 或GND,有正确的现象即可。 3.3、利用PA11和PA12的外部中断,控制LED亮暗。(30%) 要求:PB2接LED,PA11输入高/低电平LED亮,PA12输入高/低电平 LED暗。 提示:外部中断利用边缘触发,配置好后,管脚碰一下3V3(一般情况) 或GND,有正确的现象即可。

《嵌入式技术》期末考试题及答案A(基于STM32)

《嵌入式技术》期末考试题1 一、填空题(20分) 1.ARM 这个缩写包含两个意思:一是指___________;二是指______________。 2.常用的AT89C52单片机为_____位单片机,而STM32单片机为____位单片机。 3.常用的STM32F103~107系列单片机是基于_________内核,此内核采用的是___________结构。 4.STM32单片机共有8种输入输出模式,其中输入模式有____种,输出模式有_____种。 5.在编写按键检测程序时,加一个延时判断的目的是为了__________,这种方法叫________。 二、判断题(20分) 1、学习嵌入式技术不需要硬件基础,只需要会编写软件即可。() 2、STM32F103~107系列单片机的最大系统时钟频率为72MHz。() 3、STM32F103~107系列单片机的工作电压为5.0V。() 4、STM32的软件开发环境有Keil u 5、IAR等。() 5、STM32的开发模式只有基于固件库函数方式一种。() 三、名词解释(20分) 1、GPIO 2、TIMER 3、USART 4、OS 四、简答题(40分) 1、请举例说明,在你身边有哪些是单片机应用系统(至少举3例)?

2、与常用的AT89C52单片机比较,STM32单片机有哪些方面的优点? 3、STM32单片机常见的基本功能部件(外设)有哪些? 4、编写一个函数,函数描述:控制LED每隔1S闪烁一次,控制LED的引脚为PC8,只写出具体的控制函数即可,整体程序不用编写。

《嵌入式技术》期末考试题1 参考答案 一、填空题 1、ARM 公司ARM 公司设计的CPU及其架构 2、8 32 3、Cortex-M3 哈佛 2、4 4 3、延时消抖软件消抖法 二、判断题 1、? 2、? 3、? 4、? 5、? 三、名词解释 1、输入/输出接口 2、定时器 3、通用串行通信接口 4、操作系统 四、简答题 1、略 2、(1)stm32 单片机的运算速度比AT89C52单片机的快;(2)stm32 单片机能移植操作系统,这样能处理多任务;(3)stm32 单片机外围接口功能比AT89C52单片机强大。 3、(1)输入/输出接口GPIO ;(2)定时/计数器;(3)串行通信接口;(4)串行总线IIC 。 4、 void LED_Flash(void) { GPIO_SetBits(GPIOC, GPIO_Pin_8); Delay_mS(1000);

[嵌入式系统设计(基于STM32F4)][徐灵飞][习题解答] (4)

《嵌入式系统设计(基于STM32F429)》 第4章课后题参考答案 1.尝试分析一下STM32F4系列微控制器从复位到main()启动过程。 答: 复位后。 (1)从存储空间0x00000000处去除栈顶指针到MSP。 (2)从存储空间0x00000004出读取复位终端服务程序入口地址到PC。 (3)执行SystemInit函数,初始化系统时钟和外部存储器接口。 (4)执行__main函数,完成堆栈区域初始化。 (5)点转到main()函数,执行应用程序(C代码) 2.请写出复位异常向量、SVC异常向量和SysTick向量地址。 答: 复位异常向量地址:0x00000004 SVC异常向量地址:0x0000002C SysTick向量地址:0x0000003C 3.请写出启动文件中定义的SysTick、外部中断0和USART1中断的中断服务函数名。 答: SysTick中断服务函数名:SysTick_Handler 外部中断0中断服务函数名:EXTI0_IRQHandler USART1中断的中断服务函数名:USART1_IRQHandler 4.请编写中断EXTI0_IRQHandler的中断服务程序,使用C程序实现,只需要空函数。 答: void EXTI0_IRQHandler (void) {} 5.尝试说明在发生EXTI0_IRQHandler中断时,内核响应的过程。 答: (1)处理器在当前堆栈上把程序状态寄存器、程序计数寄存器、链接寄存器、R12、R3~R0八个寄存器自动依次入栈。 (2)读取向量表中的EXTI0服务程序入口地址(EXTI0_IRQHandler)。 (3)根据向量表更新程序计数寄存器的值(EXTI0服务程序入口地址->PC)。 (4)加载新程序计数寄存器处的指令(步骤(2)~步骤(4)与步骤(1)同时进行)。(开始执行中断服务程序) (5)更新链接寄存器为EXC_RETURN(EXC_RETURN表示退出异常后返回的模式及使用的堆栈)。 6.如何配置1 s的SysTick系统定时函数? 答: if (SysTick_Config(SystemCoreClock/1000000)) { /*SystemCoreClock/1000000超出计数最大值时报错,程序陷入空循环*/ while (1); } 说明:SysTick_Config函数在文件core_cm4.h中。

STM32 SPI 注意要点

STM32 SPI 注意要点 觉得SPI 很简单,所以从来没有去仔细去看就直接用了,这次在调一 个芯片的时候出现了一个比较奇怪的问题,以为是程序逻辑的问题,浪费了好 几天的时间都没有找到原因。今天乖乖查阅了一些手册,最后在《STM32 不完 全手册》里找到了线索,现在索性对SPI 做个总结。首先说最近碰到的问题。 问题一:错以为SPI 的读数据,直接读取SPIx->DR 寄存器就可以完成。这个问题我一直没注意,十分惭愧。原来SPI 的时钟只有在往DR 寄存器里面写 数据的时候才会产生,读是不会产生的(暂时没有从哪个资料中得到确认,不 过我猜就是这样)。所以要读取slave 发过来的数据,master 必须先发一个DUMMY 数据,这个数据内容不重要,目的只是为了产生一组clock 给 slave,slave 的数据就沿着这一组clock 给发了出来。master 给slave 读写数据的过程是这样的:写:master 对DR 写数据,产生clock,同时数据从MOSI 管脚移位发送到slave 的MOSI 管脚;读:master 对DR 写DUMMy,产生clock,同时DUMMy 由MOSI 发给slave(这个数据没有意义),同时读 取的数据从slave 的MISO 管脚移位发送到master 的MISO 管脚。问题二:在配置为双线全双工的时候,如上面所说,在master 写数据的时候,其实stm32 的SPI 同时也往master 的DR 寄存器里面读进数据(读写虽然都是DR,其实 是两个不同的寄存器)。对这点的忽略,就是这次问题产生的原因。我在对采 集芯片读取数据之前,需要向芯片发送一个读取数据的指令,在发送指令后, 理论来说采集芯片会自动等待发送数据过来,只要我stm32 这边发一个 DUMMy 产生一组clock,然后就可以从DR 中读取数据。但是由于在发送读取 指令的时候,其实STM32 也同时也把一个无用的数据读到DR 里面去了,这 个数据在没有被取走之前,是不会再接受新的数据的,所以在后来发送

《嵌入式技术》期末考试题及答案B(基于STM32)

《嵌入式技术》期末考试题2 一、填空题(20分) 1.如果LED阴极接地,阳极通过一个电阻接单片机PA1端口,则当单片机PA1端口输出为高电平时LED状态为_______;当输出为低电平时LED状态为 _______。 2.STM32单片机的GPIO口可以配置为__________模式和__________模式。 3.常STM32的为通用同步异步收发器,可以利用发生器提供宽范围的波特率选择。 4.STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为向上计数模式、模式和模式。 5.STM32具有单独的位设置或位清除能力。这是通过和寄存器来实现的。 二、判断题(20分) 1、Contex-M3系列处理器内核采用了哈佛结构。() 2、ADC主要完成数/模转换功能。() 3、STM32F103~107系列单片机的一般工作电压设置为3.3V。() 4、STM32单片机可以基于uCOS-II、FreeRTOS等操作系统开发。() 5、STM32单片机不支持上电复位。() 三、名词解释(20分) 1、LED 2、PC 3、MCU 4、ARM 四、简答题(40分) 1、STM32的GPIO的配置模式有那几种?

2、请举例说明,STM32定时器可以实现哪些功能(至少举3例)? 3、请举例说明,STM32的开发模式有哪些? 4、请简述什么是嵌入式系统?

《嵌入式技术》期末考试题2 参考答案 一、填空题 1、亮灭 2、输入输出 3、USART 定时器 4、向下计数向上向下计数 5、GPIOx_BRR GPIOx_BSRR 二、判断题 1、? 2、? 3、? 4、? 5、? 三、名词解释 1、发光二极管 2、泛指所有的个人计算机 3、微控制器 4、一指ARM公司,二指ARM公司设计的CPU及其架构 四、简答题 1、STM32的GPIO的配置模式有那八种: (1)输入模式4种: 模拟输入、浮空输入、下拉输入、上拉输入 (2)输出模式4种: 开漏输出、推挽输出、复用开漏输出、复用推挽输出 2、(1)实现延时功能;(2)实现波特率调整;(3)实现PWM输出。 3、(1)基于寄存器开发;(2)基于固件库开发;(3)基于操作系统 4、嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适用于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

STM32考试习题及答案讲解

STM32考试习题及答案 、填空题 二、选择题 三、简答题 1?简述不同复用功能的重映射。 答:为了优化不同引脚封装的外设数目, 这时,复用功能不再映射到它们原始分配的引脚上。 在程序上,是通过设置复用重映射和调 试I/O 配置寄存器(AFIO_MAPR )来实现引脚的重新映射。各个复用功能的重映射可以参阅 正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。 2 .简述STM32的GPIO 的一些主要特点(至少 5个)。 答:主要特点如下: 通用I/O ,可以作为输出、输入等功能。 单独的位设置或位清除。 外部中断/唤醒线。 复用功能(AF )和重映射。 GPIO 锁定机制。 1. 当STM32的I/O 端口配置为输入时, 入 _______ 被激活。根据输入配置(上拉,下拉或浮动 电阻 被连接。出现在I/O 脚上的数据在每个 对 输入数据寄存器 的读访问可得到I/O 状态。 2. STM32的所有端口都有外部中断能力。当使用 引脚必须配置成 输入模式 _________ 。 3 . STM32具有单独的位设置或位清除能力。这是通过 GPIOx BSRR 和 GPIOx BRR ________ 寄存器来实现的。 4 . ST 公司还提供了完善的通用IO 接口库函数,其位于 stm32f10x_gpio.c ________ ,对应的头文件为 stm32f10x_gpio.h _______ 。 5?为了优化不同引脚封装的外设数目,可以把一些 复用功能 重新映射到其他 引脚上。这时,复用功能不再映射到 它们原始分配的引脚 ___________ 上。在程序上,是 通过设置 复用重映射和调试 I/O 配置寄存器(AFIO_MAPR ) _________________ 来实现引脚的重 输出缓冲器 被禁止, )的不同,该引脚的 APB2时钟被采样到输入数据寄存器, 施密特触发输 弱上拉和下拉 外部中断线 时,相应的 1.在APB2上的I/O 脚的翻转速度为 A. 18MHz C . 36MHz 4?当输出模式位 MODE[1:O]= “ 10” A. 10MHz C . 50MHz (A B . D . )。 50MHz 72MHz 时,最大输出速度为(B )。 B. 2MHz D . 72MHz 可以把一些复用功能重新映射到其他引脚上。

嵌入式部分复习题、练习题-含答案

第1章:ARM和嵌入式系统介绍 嵌入式系统的概念 ARM嵌入式处理器的版本 Cortex系列处理器的组成和特点 嵌入式操作系统 第2章:ARM体系结构 ARM、CM3处理器状态:Thumb状态和调试状态 CM3处理器工作模式:Handler模式和Thread模式 代码特权分级:特权级和非特权(用户)级 CM3内部寄存器:r0-r12,r13,r14,r15,状态寄存器xPSR 存储器映射机制:大端格式和小端格式 数据对齐方式:字对齐、半字对齐、非字对齐、非半字对齐 异常概念、CM3异常机制特点 第3章:Cortex-M3控制器及外围硬件简介 嵌入式最小系统组成 第4章:指令系统和时钟 ARM、Thumb、Thumb-2和CM3指令集的特点和关系 STM32时钟系统结构原理和初始化编程 启动代码 第5章:GPIO实验、第6章:UART实验、第9章:中断实验 第10章:RTC实验 原理和编程 第7章:模/数转换、第8章:定时器实验 原理即可,不考程序

1. 什么是嵌入式系统?嵌入式系统有哪些应用? 2. 什么是嵌入式处理器?嵌入式处理器分为哪几类? 3. 说明使用实时操作系统的必要性。 4. 简要说明ARM Cortex内核处理器分为哪几个系列?各有什么特点? 5. ARM Cortex-M3处理器有哪些优势符合嵌入式操作系统的要求? 6. 简述NVIC的初始化步骤。 7. 什么是嵌入式处理器?嵌入式处理器分为哪几类? 二、填空 1. STM32F103ZET6有个引脚, KB片内FLAM ROM, KB 片内SRAM。 2. Cortex-M3处理器支持两种特权分级:特权级和。Cortex-M3处理器支持两种工作模式,:模式和模式。 3. PSR中,标志位C是,Z是 N是,V是。 4. CM3内部寄存器中,R13的作用是,R14的作用是,R15的作用是。 5. 经典ARM7处理器有和两种状态,CM3处理器只有状态。 6. Cortex-M3的流水线分3级,分别为、、。 7. STM32F10x的管理着包括Cortex-M3核异常等中断,其和ARM 处理器核的接口紧密相连,可以实现的中断处理,并有效地处理迟来中断。 8. Cortex-M3支持的线性地址空间大小为。 9. 复位后,CM3处于模式,状态,使用堆栈,特权级别为。 10. 设STM32的分组方式设为4,则抢占优先级的最大值为。 11. ARM字数据存储格式有:和。 12. CM3处理器的程序存储器和数据存储器的编址方式为,I/O设备与存储器的编址方式为。 1. ARM处理器Cortex系列包括Cortex-A系列、和,其中主要应用于实时控制领域。 2. CM3内部寄存器中,用于保存堆栈指针的寄存器是。 3. PSR中,标志位C的作用是。 4. Cortex-M3处理器有两种状态:和调试状态。 5. 复位时,代码执行是(答特权级还是用户级)的。 6. Cortex-M3的流水线分3级,分别为、、执行。 7. 存储器系统有两种映射机制:小端存储器系统和存储器系统,STM32只能为存储器系统。 8. STM32具有单独的位设置或位清除能力,是通过和寄存器来实现的。 9. TIM6在计数器溢出/上溢时产生更新事件,只有当更新事件发生时,自动重装载寄存器和PSC预分频寄存器才会将其值传递给各自的影子寄存器,这对于产生信号非常有用。 10. 设STM32的分组方式设为6,则子优先级的最大值为。

相关文档
相关文档 最新文档