STM32考试习题及答案docWord格式文档下载.docx
《STM32考试习题及答案docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《STM32考试习题及答案docWord格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
![STM32考试习题及答案docWord格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-2/4/f82103af-53c9-4bd3-bfc4-11e8155d8182/f82103af-53c9-4bd3-bfc4-11e8155d81821.gif)
由于还没有讲到定时器相关的知识,所以这里旨在让读者给出定时器对GPIO端口的设置要求,程序示例如下:
GPIO_InitTypeDefGPIO_InitStructure;
/*GPIOCConfiguration:
Pin6,7,8and9inOutput*/
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.SRAMB.Flash
C.ADC_JDRx寄存器D.ADC_CR1
3.STM32规则组由多达(A)个转换组成。
A.16B.18
C.4D.20
4.在STM32中,(A)寄存器的ALIGN位选择转换后数据储存的对齐方式。
A.ADC_CR2B.ADC_JDRx
C.ADC_CR1D.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.ARMCortex-M3不可以通过(D)唤醒CPU。
A.I/O端口B.RTC闹钟
C.USB唤醒事件D.PLL
2.STM32嵌套向量中断控制器(NVIC)具有(A)个可编程的优先等级。
A.16B.43
C.72D.36
3.STM32的外部中断/事件控制器(EXTI)支持(C)个中断/事件请求。
C.19D.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(BasicExtendedCAN),也就是bxCAN。
1.STM32的USART根据(A)寄存器M位的状态,来选择发送8位或者9位的数据字。
A.USART_CR1B.USART_CR2
C.USART_BRRD.USART_CR3
2.STM32的bxCAN的主要工作模式为(ABD)。
A.初始化模式B.正常模式
C.环回模式D.睡眠模式
3.在程序中,可以将CAN_BTR寄存器的(AB)位同时置1,来进入环回静默模式。
(多选)
A.LBKMB.SILM
C.BTRD.以上都不是
1.简述STM32的USART的功能特点。
、
STM32的USART为通用同步异步收发器,其可以与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。
USART还可以利用分数波特率发生器提供宽范围的波特率选择。
STM32的USART支持同步单向通信和半双工单线通信。
同时,其也支持LIN(局部互连网),智能卡协议和IrDA(红外数据)SIRENDEC规范,以及调制解调器(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外设的程序代码。
/*TimeBaseconfiguration*/
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);
/*Channel1,2,3and4ConfigurationinPWMmode*/
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_Pulse=CCR3_Val;
TIM_OC3Init(TIM1,&
TIM_OCInitStructure.TIM_Pulse=CCR4_Val;
TIM_OC4Init(TIM1,&
/*TIM1counterenable*/
TIM_Cmd(TIM1,ENABLE);
/*TIM1MainOutputEnable*/
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位上,下,上/下自动装载计数器
C.可以在指定数目的计数器周期之后更新定时器寄存器。
3.定时器TIM1的特殊工作模式包括(ABCD)。
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.SYSCLKB.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”以确认写操作已经完成。