资源描述
stm32复习资料第一部分一、填空题 1当STM32的I/O端口配置为输入时, 输出缓冲器 被禁止, 施密特触发输入 被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的 弱上拉和下拉电阻 被连接。出现在I/O脚上的数据在每个APB2时钟被采样到输入数据寄存器,对 输入数据寄存器 的读访问可得到I/O状态。 2STM32的所有端口都有外部中断能力。当使用 外部中断线 时,相应的引脚必须配置成 输入模式 。 3STM32具有单独的位设置或位清除能力。这是通过GPIOx_BSRR 和 GPIOx_BRR 寄存器来实现的。 4ST公司还提供了完善的通用IO接口库函数,其位于 stm32f10x_gpio.c ,对应的头文件为 stm32f10x_gpio.h 。 5为了优化不同引脚封装的外设数目,可以把一些 复用功能 重新映射到其他引脚上。这时,复用功能不再映射到 它们原始分配的引脚 上。在程序上,是通过设置 复用重映射和调试I/O配置寄存器(AFIO_MAPR) 来实现引脚的重新映射。 二、选择题 1在APB2上的I/O脚的翻转速度为。 A18MHz B50MHz C36MHz D72MHz 4当输出模式位MODE1:0=“10”时,最大输出速度为。 A10MHz B2MHz C50MHz D72MHz 三、简答题 1简述不同复用功能的重映射。 答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时,复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)来实现引脚的重新映射。各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。 2简述STM32的GPIO的一些主要特点。 答:主要特点如下: q 通用I/O,可以作为输出、输入等功能。 q 单独的位设置或位清除。 q 外部中断/唤醒线。 q 复用功能(AF)和重映射。 q 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); 一、填空题 1STM32芯片内部集成的 12 位ADC是一种逐次逼近型模拟数字转换器,具有 18 个通道,可测量 16 个外部和 2 个内部信号源。 2在STM32中,只有在 规则通道 的转换结束时才产生DMA请求,并将转换的数据从 ADC_DR 寄存器传输到用户指定的目的地址。 3在有两个ADC的STM32器件中,可以使用 双ADC 模式。在 双ADC 模式里,根据 ADC_CR1 寄存器中 DUALMOD2:0 位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。 4ADC的校准模式通过设置 ADC_CR2 寄存器的 CAL 位来启动。 5在STM32中, ADC_CR2 寄存器的 ALIGN 位选择转换后数据储存的对齐方式。 6在STM32内部还提供了 温度传感器 ,可以用来测量器件周围的温度。温度传感器在内部和 ADC_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。内部参考电压 VREFINT 和 ADC_IN17 相连接。 二、选择题 1哪些是STM32的ADC系统的特点。 A12-位分辨率 B自校准 C可编程数据对齐 D单次和连续转换模式 2在ADC的扫描模式中,如果设置了DMA位,在每次EOC后,DMA控制器把规则组通道的转换数据传输到中。 ASRAM BFlash CADC_JDRx寄存器 DADC_CR1 3STM32规则组由多达个转换组成。 A16 B18 C4 D20 4在STM32中,寄存器的ALIGN位选择转换后数据储存的对齐方式。 AADC_CR2 BADC_JDRx CADC_CR1 DADC_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寄存器中DUALMOD2:0位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。双ADC工作模式主要包括如下几种:同时注入模式、同时规则模式、快速交替模式、慢速交替模式、交替触发模式和独立模式。 一、填空题 1STM32的 嵌套向量中断控制器(NVIC) 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现 低延迟 的中断处理,并有效地处理 晚到 中断。 2STM32的外部中断/事件控制器由 19 个产生事件/中断要求的边沿检测器组成。每个输入线可以独立地配置 输入类型和对应的触发事件 。每个输入线都可以被独立的屏蔽。 挂起寄存器 保持着状态线的中断要求。 3STM32的EXTI线16连接到 PVD输出 。 4STM32的EXTI线17连接到 RTC闹钟事件 。 5STM32的EXTI线18连接到 USB唤醒事件 。 二、选择题 1ARM Cortex-M3不可以通过唤醒CPU。 AI/O端口 BRTC 闹钟 CUSB唤醒事件 DPLL 2STM32嵌套向量中断控制器(NVIC) 具有 个可编程的优先等级。 A16 B43 C72 D36 3STM32的外部中断/事件控制器支持个中断/事件请求。 A16 B43 C19 D36 三、简答题 1简述嵌套向量中断控制器的主要特性。 答:STM32的嵌套向量中断控制器(NVIC) 管理着包括Cortex-M3核异常等中断,其和ARM处理器核的接口紧密相连,可以实现低延迟的中断处理,并有效地处理晚到的中断。STM32嵌套向量中断控制器(NVIC)的主要特性如下: q 具有43 个可屏蔽中断通道。 q 具有16 个可编程的优先等级。 q 可实现低延迟的异常和中断处理。 q 具有电源管理控制。 q 系统控制寄存器的实现。 一、填空题 1STM32的 USART 为通用同步异步收发器,其可以与使用工业标准 NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。 2STM32的USART可以利用 分数波特率 发生器提供宽范围的波特率选择。 3智能卡是一个 单线半双工 通信协议,STM32的智能卡功能可以通过设置USART_CR3寄存器的 SCEN 位来选择。 4STM32提供了CAN总线结构,这是一种 基本扩展 CAN(Basic Extended CAN),也就是 bxCAN 。 二、选择题 1STM32的USART根据寄存器M位的状态,来选择发送8位或者9位的数据字。 AUSART_CR1 BUSART_CR2 CUSART_BRR DUSART_CR3 2STM32的bxCAN的主要工作模式为。 A初始化模式 B正常模式 C环回模式 D睡眠模式 3在程序中,可以将CAN_BTR寄存器的位同时置1,来进入环回静默模式。 ALBKM BSILM CBTR D以上都不是 三、简答题 1简述STM32的USART的功能特点。、 答:STM32的USART为通用同步异步收发器,其可以与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART还可以利用分数波特率发生器提供宽范围的波特率选择。 STM32的USART支持同步单向通信和半双工单线通信。同时,其也支持LIN(局部互连网),智能卡协议和IrDA(红外数据)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。STM32还具备多处理器通信能力。另外,通过多缓冲器配置的DMA方式,还可以实现高速数据通信。 一、填空题 1系统计时器提供了1个 24位、降序、零约束、写清除 的计数器,具有灵活的控制机制。 2STM32的通用定时器TIM,是一个通过 可编程预分频器 驱动的 16 位自动装载计数器构成。 3STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为 向上计数 模式、 向下计数 模式和 中央对齐 模式。 4ST公司还提供了完善的TIM接口库函数,其位于 stm32f10x_tim.c ,对应的头文件为 stm32f10x_tim.h 。 二、选择题 1通用定时器TIMx的特性。 A具备16位向上,向下,向上/向下自动装载计数器。 B具备16位可编程预分频器。 C具备4个独立通道。 D可以通过事件产生中断,中断类型丰富,具备DMA功能。 2通用定时器TIMx的特殊工作模式包括。 A输入捕获模式 BPWM 输入模式 C输出模式 D单脉冲模式(OPM) 3STM32的可编程通用定时器的时基单元包含。 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 位的自动装载计数器组成,它由一个 可编程预分频器 驱动。 2TIM1的 溢出/下溢时更新事件(UEV) 只能在重复向下计数达到0的时候产生。这对于能产生PWM信号非常有用。 3TIM1具备 16 位可编程预分频器,时钟频率的分频系数为 165535 之间的任意数值。 4ST公司还提供了完善的TIM1接口库函数,其位于 stm32f10x_tim1.c ,对应的头文件为 stm32f10x_tim1.h 。 二、选择题 1STM32的可编程TIM1定时器的时基单元包含。 A计数器寄存器(TIM1_CNT) B预分频器寄存器 (TIM1_PSC) C自动装载寄存器 (TIM1_ARR) D周期计数寄存器 (TIM1_RCR) 2高级定时器TIM1的特性。 A具备16位上,下,上/下自动装载计数器 B具备16位可编程预分频器。 C可以在指定数目的计数器周期之后更新定时器寄存器。 D可以通过事件产生中断,中断类型丰富,具备DMA功能。 3定时器TIM1的特殊工作模式包括。 A输入捕获模式 BPWM 输入模式 C编码器接口模式 D单脉冲模式(OPM) 三、简答题 1简述STM32的高级控制定时器TIM1的结构。 答:STM32提供了一个高级控制定时器(TIM1)。TIM1由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。TIM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。 高级控制定时器TIM1和通用控制定时器TIMx是完全独立的,它们不共享任何资源,因此可以同步操作。 1STM32的DMA 控制器有 7 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个 仲裁器 来协调各个DMA 请求的优先权。 2在DMA处理时,一个事件发生后,外设发送一个请求信号到 DMA控制器 。DMA 控制器根据通道的 优先权 处理请求。 3DMA控制器的每个通道都可以在有固定地址的 外设寄存器和存储器地址 之间执行DMA传输。DMA传输的数据量是可编程的,可以通过 DMA_CCRx 寄存器中的 PSIZE 和 MSIZE 位编程。 4ST公司还提供了完善的DMA接口库函数,其位于 stm32f10x_dma.c ,对应的头文件为 stm32f10x_dma.h 。 5在STM32中,从外设(TIMx、ADC、SPIx、I2Cx 和USARTx)产生的7个请求,通过逻辑 与 输入到DMA控制器,这样同时 只能有一 个请求有效。 二、选择题 1STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三种时钟源分别为。 AHSI振荡器时钟 BHSE振荡器时钟 CPLL时钟 DHLI振荡时钟 2在STM32中,当发生时,将产生电源复位。 A从待机模式中返回 B上电/掉电复位 CNRST管脚上的低电平 DPLL 3,以下哪个时钟信号可被选作MCO 时钟。 ASYSCLK BHSI CHSE 2简述STM32时钟的类型。 答:STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三种时钟源分别为: q HSI振荡器时钟 q HSE振荡器时钟 q PLL时钟 这三种时钟源还可以有以下2种二级时钟源: q 32kHz低速内部RC,可以用于驱动独立看门狗和RTC。其中,RTC用于从停机/待机模式下自动唤醒系统。 q 32.768kHz低速外部晶振也可用来驱动RTC(RTCCLK)。 任一个时钟源都可被独立地启动或关闭,这样可以通过关闭不使用的时钟源来优化整个系统的功耗。 3简述STM32实时时钟RTC的配置步骤。 答:在程序中,配置RTC寄存器步骤如下: 查询RTC_CR 寄存器中的RTOFF位,直到RTOFF的值变为“1”,表示前一次写操作结束。 置CNF值为1,进入配置模式。 对一个或多个RTC 寄存器进行写操作。 清除CNF 标志位,退出配置模式。 查询RTOFF,直至RTOFF 位变为“1” 以确认写操作已经完成。
展开阅读全文