STM32期末考试答案详解

合集下载

STM32考试习题及答案

STM32考试习题及答案

S T M32考试习题及答案一、填空题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.50MHzC.36MHz D.72MHz4.当输出模式位MODE[1:0]=“10”时,最大输出速度为(B )。

A.10MHz B.2MHzC.50MHz D.72MHz三、简答题1.简述不同复用功能的重映射。

答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。

这时,复用功能不再映射到它们原始分配的引脚上。

在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)来实现引脚的重新映射。

各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。

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

答:主要特点如下:通用I/O,可以作为输出、输入等功能。

单独的位设置或位清除。

外部中断/唤醒线。

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

嵌入式技术与应用开发项目教程(STM32版)习题答案

嵌入式技术与应用开发项目教程(STM32版)习题答案

嵌入式技术与应用开发项目教程(STM32版)习题答案项目一LED控制设计与实现1-1 嵌入式系统是如何定义的?嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是控制、监视或辅助设备、机器或用于工厂运作的设备。

目前,国内普遍认同的嵌入式系统定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

1-2 嵌入式系统具有哪些特点?嵌入式系统具有以下几个显著特点:(1)嵌入式系统是面向特定应用;(2)软件要求固态化存储;(3)嵌入式系统的硬件和软件都必须具备高度可定制性;(4)嵌入式系统的生命周期较长;(5)嵌入式系统开发需要开发工具和环境。

1-3 ARM Cortex-M3处理器是哪几个部分组成?嵌入式系统一般是由嵌入式处理器、存储器、输入输出和软件(嵌入式设备的应用软件和操作系统是紧密结合的)等4部分组成。

1-4 简述STM32F103系列产品的命名规则。

STM32F103系列产品的命名规则,是按照“STM32F103XXYY”格式来命名的,具体含义如下:(1)产品系列:STM32是基于ARM Cortex-M3内核设计的32位微控制器;(2)产品类型:F是通用类型;(3)产品子系列:101是基本型、102是USB基本型(USB全速设备)、103是增强型、105或107是互联型;(4)引脚数目(第一个X):T是36脚、C是48脚、R是64脚、V是100脚、Z是144脚;(5)闪存存储器容量(第二个X):4是16K、6是32K、8是64K、B是128K、C是256K、D是384K、E是512K;(6)封装(第一个Y):H是BGA、T是LQFP、U是VFQFPN、Y是WLCSP64;(7)温度范围(第二个Y):6是工业级温度范围-400C~850C、7是工业级温度范围-400C~1050C。

stm32试题及答案

stm32试题及答案

STM32习题集一、选择题1.Cortex-M处理器采用的架构是( D )(A)v4T (B)v5TE (C)v6 (D)v7 2.NVIC可用来表示优先权等级的位数可配置为是( D )(A)2 (B)4 (C)6 (D)83.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)646.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_SP9.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)04H16.端口输出数据寄存器的地址偏移为(C )(A)00H (B)08H(C)0CH (D)04H17.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以( D )的方式访问(A)16位字(B)16位字节(C)32位字节(D)32位字18.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( A )(A)ENABLE或者DISABLE (B)SET或者RESTE(C)YES或者NO (D)SUCCESS或者ERROR19.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( C )(A)ENABLE或者DISABLE (B)SUCCESS或者ERROR(C)SET或者RESTE (D)YES或者NO20.STM32F107V有( C )可屏蔽中断通道(A)40 (B)50 (C)60 (D)7021.STM32F107V采用( A )位来编辑中断的优先级(A)4 (B)8 (C)16 (D)3222.向量中断控制器最多可支持( 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 )组(A)4 (B)5 (C)6 (D)726.中断屏蔽器能屏蔽( B )(A)所有中断和异常(B)除了NMI外所有异常和中断(C)除了NMI、异常所有其他中断(D)部分中断27.PWM是( A )28.(A)脉冲宽度调制(B)脉冲频率调制(C)脉冲幅度调制(D)脉冲位置调制29.要想使能自动重装载的预装载寄存器需通过设置TIMx_CR1寄存器的( B )位(A)UIF (B)ARPE (C)UG (D)URS 30.以下对于STM32 ADC描述正确的是(A )(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转换器的主要技术指标( B )(A)分辨率(B)频率(C)转换速率(D)量化误差34.以下对STM32F107集成A/D的特性描述不正确的是(B )(A)12位精度(B)单一转换模式(C)按通道配置采样时间(D)数据对齐方式与内建数据一致35.以下对STM32F107集成A/D的特性描述正确的是( B )(A)供电需求: 2.6V到3.8V(B)输入范围:VREF-≤VIN≤VREF+(C)性能线设备的转换时间:28MHz时为1us(D)访问线设备的转换时间:56MHz时为1us36.以下为STM32的GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为10MHz,应该设置( B )(A)CNFy[1:0] (B)MODEy[1:0](C)MODE (D)CNF37.以下为GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为2MHz,应该设置MODE[1:0]值为( C )(A)00 (B)01(C)10 (D)1138.. 已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器1的地址为( D )(A)0x4001 2C20 (B)0x4001 2C2C(C)0x4001 2C38 (D)0x4001 2C3439.已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器2的地址为( C )(A)0x4001 2C20 (B)0x40012C2C(C)0x4001 2C38 (D)0x4001 2C3440.SysTick定时器校正值为( B )(A)9000 (B)10000(C)12000 (D)1500041.SysTick定时器的中断号是( C )(A)4 (B)5(C)6 (D)742.上图中Tamper连接了STM32F10X的PC13GPIO,PC13通用IO端口映射到外部中断事件线上是( D )(A)EXTI线14 (B)EXTI线15(C)EXTI线12 (D)EXTI线1343.上图中WKUP连接了STM32F10X的PA0 GPIO,PA0通用IO端口映射到外部中断事件线上是( A )(A)EXTI线0 (B)EXTI线1(C)EXTI线2 (D)EXTI线344./** @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的偏移地址为( D )(A)0x20 (B)0x1c(C)0x18 (D)0x1445./** @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的偏移地址为( B )(A)0x14 (B)0x18(C)0x1c (D)0x2046.Cortex-M3的提供的流水线是( B )(A)2级(B)3级(C)5级(D)8级47.Contex –M3处理器的寄存器r14代表( B )(A)通用寄存器(B)链接寄存器(C)程序计数器(D)程序状态寄存器48.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( A )(A)ENABLE或者DISABLE(B)SET或者RESTE(C)YES或者NO(D)SUCCESS或者ERROR49.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( C )(A)ENABLE或者DISABLE(B)SUCCESS或者ERROR(C)SET或者RESTE(D)YES或者NO50.DMA控制器可编程的数据传输数目最大为( A )。

STM32和嵌入式开发设计部分考试答案

STM32和嵌入式开发设计部分考试答案

以下哪项选择是有关嵌入式系统描述不正确的地方是:大多数嵌入式系统本身具备开发能力嵌入式系统常用多少位的处理器32以下哪个是嵌入式系统?以上都是MAX232芯片在串行通信中,主要起的作用是电平转换STM32处理器的USB接口可达?12Mbit关于中断嵌套说法正确的是?只要抢占式优先级不一样就有可能发生中断嵌套PWM是?脉冲宽度调制以下对于STM32 ADC描述正确的是?是一个8位连续近似模拟到数字的转换器ARM Cortex-M3不可以通过( )唤醒CPU?PLL以下为GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为2MHz,应该设置MODE[1:0]值为10Cortex-M3的提供的流水线是?Cortex – M3使用的存储器格式是?以下对于STM32 ADC描述正确的是?在STM32中,只有在____的转换结束时才产生DMA请求,并将转换的数据从____寄存器传输规则通道ADC_DR窗体底端在有两个ADC的STM32器件中,可以使用____模式。

在____模式里,根据____寄存器中____位所选的模式,转换的启动可以是ADC1主和ADC2从的交替触发或同时触发。

双ADC双ADCADC_CR1DUALMOD[2:0]STM32的EXTI线17连接到。

RTC闹钟事件窗体底端STM32的外部中断/事件控制器(EXTI)由____个产生事件/中断要求的边沿检测器组成。

19窗体底端STM32的USART可以利用____发生器提供宽范围的波特率选择。

分数波特率窗体底端系统计时器(SysTick)提供了1个____降序的计数器,具有灵活的控制机制。

24位STM32通用定时器TIM的16位计数器可以采用三种方式工作,分别为____模式、____模式和____模式。

向上计数向下计数中央对其STM32系列ARM Cortex-M3芯片支持三种复位形式,分别为复位、复位和复位。

系统电源备份区域DMA控制器的每个通道都可以在有固定地址的____和____之间执行DMA传输。

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.50MHzC.36MHz D.72MHz4.当输出模式位MODE[1:0]=“10”时,最大输出速度为(B)。

A.10MHz B.2MHzC.50MHz D.72MHz三、简答题1.简述不同复用功能的重映射。

答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。

这时,复用功能不再映射到它们原始分配的引脚上。

在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)来实现引脚的重新映射。

各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。

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

答:主要特点如下:?通用I/O,可以作为输出、输入等功能。

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

?外部中断/唤醒线。

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

?GPIO锁定机制。

stm32复习题及答案

stm32复习题及答案

stm32复习题及答案STM32复习题及答案随着科技的不断发展,嵌入式系统的应用越来越广泛。

而STM32系列单片机作为一种常用的嵌入式系统开发平台,被广泛应用于各个领域。

为了更好地掌握STM32单片机的知识,下面将为大家整理一些STM32复习题及答案,希望能够对大家的学习有所帮助。

一、基础知识1. STM32是由哪家公司生产的?答案:STMicroelectronics(意法半导体)2. STM32单片机采用的是哪种处理器架构?答案:ARM Cortex-M系列处理器3. STM32单片机的Flash和RAM容量有哪些选择?答案:Flash和RAM容量不同的型号有不同的选择,常见的有16KB、32KB、64KB、128KB等。

4. STM32单片机的工作电压范围是多少?答案:一般为2.0V至3.6V。

5. STM32单片机的时钟源有哪些?答案:主要有内部时钟源和外部时钟源两种。

二、GPIO1. GPIO是什么意思?答案:GPIO全称为General Purpose Input/Output,即通用输入输出口。

2. 如何配置STM32的GPIO为输出模式?答案:使用GPIO_InitTypeDef结构体进行配置,设置GPIO_Mode为GPIO_Mode_OUT。

3. 如何配置STM32的GPIO为输入模式?答案:使用GPIO_InitTypeDef结构体进行配置,设置GPIO_Mode为GPIO_Mode_IN。

4. 如何设置STM32的GPIO输出高电平或低电平?答案:使用GPIO_SetBits函数设置输出高电平,使用GPIO_ResetBits函数设置输出低电平。

5. 如何读取STM32的GPIO输入状态?答案:使用GPIO_ReadInputDataBit函数读取输入状态。

三、中断1. 什么是中断?答案:中断是指在程序执行过程中,由硬件或软件触发的一种事件,可以打断当前正在执行的程序。

2. 如何配置STM32的外部中断?答案:使用EXTI_Init函数进行配置,设置中断线、触发方式等参数。

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

《嵌入式技术》期末考试题及答案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 u5、IAR等。

()5、STM32的开发模式只有基于固件库函数方式一种。

()三、名词解释(20分)1、GPIO2、TIMER3、USART4、OS四、简答题(40分)1、请举例说明,在你身边有哪些是单片机应用系统(至少举3例)?2、与常用的AT89C52单片机比较,STM32单片机有哪些方面的优点?3、STM32单片机常见的基本功能部件(外设)有哪些?4、编写一个函数,函数描述:控制LED每隔1S闪烁一次,控制LED的引脚为PC8,只写出具体的控制函数即可,整体程序不用编写。

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

基于STM32CubeMX和HAL驱动库的嵌入式系统设计01-期末考试答案_14

基于STM32CubeMX和HAL驱动库的嵌入式系统设计01-期末考试答案_14
答案: 逐个点亮 While(1) {
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5,GPIO_PIN_SET); // 点亮 LED0 (2 分) HAL_Delay(100);
LED2 → LED3 → LED0;第二种是逐次增加: LED0 → LED0 LED1 → LED0 LED1 LED2 → LED0 LED1
LED2 LED3,然后全部熄灭后再循环。两种形式流水灯的时间间隔均设置为 100ms,延时函数调用
HAL_Delay 函数实现。(30 分)(要求:只需要编写 while(1)循环中的程序,不要编写初始化程序)
12、下面不属于串口通信的数据传输方式是( D )
A)中断
B)查询
C)DMA
D)通道
13、如果要设置引脚 PC10 输出高电平,下面哪一个代码是正确的?( A )
A) HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_SET)
B) HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_RESET)
A)预分频寄存器
B)自动重载寄存器设初始化时,负责完成串口引脚设置的函数是( B )
A)HAL_UART_Init()
B)HAL_UART_MspInit()
C)HAL_USART_Init()
D)HAL_USART_MspInit()
9、 串口采用中断方式发送数据时,使用的函数为 HAL_UART_Receive_IT。下面哪一个参数不属于
( C )执行程序 。
A)Flash
B)系统存储器
C)SRAM
D)DRAM
4、 对于 STM32 微控制器的 GPIO 模块描述中,哪一种说法不正确?( D )

stm32试题及答案

stm32试题及答案

STM32习题集一、选择题1.Cortex-M处理器采用的架构是( D )(A)v4T (B)v5TE (C)v6 (D)v7 2.NVIC可用来表示优先权等级的位数可配置为是( D )(A)2 (B)4 (C)6 (D)83.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)646.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_SP9.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)04H16.端口输出数据寄存器的地址偏移为(C )(A)00H (B)08H(C)0CH (D)04H17.每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以( D )的方式访问(A)16位字(B)16位字节(C)32位字节(D)32位字18.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( A )(A)ENABLE或者DISABLE (B)SET或者RESTE(C)YES或者NO (D)SUCCESS或者ERROR19.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( C )(A)ENABLE或者DISABLE (B)SUCCESS或者ERROR(C)SET或者RESTE (D)YES或者NO20.STM32F107V有( C )可屏蔽中断通道(A)40 (B)50 (C)60 (D)7021.STM32F107V采用( A )位来编辑中断的优先级(A)4 (B)8 (C)16 (D)3222.向量中断控制器最多可支持( 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 )组(A)4 (B)5 (C)6 (D)726.中断屏蔽器能屏蔽( B )(A)所有中断和异常(B)除了NMI外所有异常和中断(C)除了NMI、异常所有其他中断(D)部分中断27.PWM是( A )28.(A)脉冲宽度调制(B)脉冲频率调制(C)脉冲幅度调制(D)脉冲位置调制29.要想使能自动重装载的预装载寄存器需通过设置TIMx_CR1寄存器的( B )位(A)UIF (B)ARPE (C)UG (D)URS 30.以下对于STM32 ADC描述正确的是(B )(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转换器的主要技术指标( B )(A)分辨率(B)频率(C)转换速率(D)量化误差34.以下对STM32F107集成A/D的特性描述不正确的是(B )(A)12位精度(B)单一转换模式(C)按通道配置采样时间(D)数据对齐方式与内建数据一致35.以下对STM32F107集成A/D的特性描述正确的是( B )(A)供电需求: 2.6V到3.8V(B)输入范围:VREF-≤VIN≤VREF+(C)性能线设备的转换时间:28MHz时为1us(D)访问线设备的转换时间:56MHz时为1us36.以下为STM32的GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为10MHz,应该设置( B )(A)CNFy[1:0] (B)MODEy[1:0](C)MODE (D)CNF37.以下为GPIO端口配置寄存器的描述,在GPIO控制LED电路设计时,要使最大输出速度为2MHz,应该设置MODE[1:0]值为( C )(A)00 (B)01(C)10 (D)1138.. 已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器1的地址为( D )(A)0x4001 2C20 (B)0x4001 2C2C(C)0x4001 2C38 (D)0x4001 2C3439.已知TIM1定时器的起始地址为0x4001 2C00,则定时器1的捕获/比较寄存器2的地址为( C )(A)0x4001 2C20 (B)0x40012C2C(C)0x4001 2C38 (D)0x4001 2C3440.SysTick定时器校正值为( B )(A)9000 (B)10000(C)12000 (D)1500041.SysTick定时器的中断号是( C )(A)4 (B)5(C)6 (D)742.上图中Tamper连接了STM32F10X的PC13GPIO,PC13通用IO端口映射到外部中断事件线上是( D )(A)EXTI线14 (B)EXTI线15(C)EXTI线12 (D)EXTI线1343.上图中WKUP连接了STM32F10X的PA0 GPIO,PA0通用IO端口映射到外部中断事件线上是( A )(A)EXTI线0 (B)EXTI线1(C)EXTI线2 (D)EXTI线344./** @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的偏移地址为( D )(A)0x20 (B)0x1c(C)0x18 (D)0x1445./** @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的偏移地址为( B )(A)0x14 (B)0x18(C)0x1c (D)0x2046.Cortex-M3的提供的流水线是( B )(A)2级(B)3级(C)5级(D)8级47.Contex –M3处理器的寄存器r14代表( B )(A)通用寄存器(B)链接寄存器(C)程序计数器(D)程序状态寄存器48.固件库中的功能状态(FunctionalState)类型被赋予以下两个值( A )(A)ENABLE或者DISABLE(B)SET或者RESTE(C)YES或者NO(D)SUCCESS或者ERROR49.固件库中的标志状态(FlagStatus)类型被赋予以下两个值( C )(A)ENABLE或者DISABLE(B)SUCCESS或者ERROR(C)SET或者RESTE(D)YES或者NO50.DMA控制器可编程的数据传输数目最大为( A )。

stm32复习题及答案

stm32复习题及答案

stm32复习题及答案# STM32复习题及答案一、选择题1. STM32是以下哪个公司的微控制器产品?A. AtmelB. NXPC. STMicroelectronicsD. Texas Instruments答案:C2. STM32系列微控制器主要基于哪种架构?A. ARM7B. ARM9C. Cortex-MD. Cortex-A答案:C3. 下列哪个不是STM32的外设?A. ADCB. DACC. I2CD. USB答案:D(USB是外设,但题目可能指的是其他不属于STM32的外设)4. STM32的GPIO端口可以配置为几种模式?A. 2种B. 4种C. 8种D. 16种答案:B5. 下列哪个不是STM32的启动模式?A. 从Flash启动B. 从SRAM启动C. 从SD卡启动D. 从USB启动答案:D二、判断题1. STM32微控制器支持JTAG调试接口。

()答案:正确2. STM32的所有型号都内置了以太网控制器。

()答案:错误3. STM32的时钟系统可以配置为内部RC振荡器或外部晶振。

()答案:正确4. STM32的GPIO端口可以配置为上拉或下拉输入。

()答案:正确5. STM32的中断优先级是固定的,不能更改。

()答案:错误三、简答题1. 简述STM32微控制器的主要特性。

答案:STM32微控制器主要特性包括基于ARM Cortex-M内核,具有高性能和低功耗的特点;支持多种外设接口,如SPI、I2C、USART等;具备丰富的GPIO端口配置选项;支持多种启动模式,包括从Flash、SRAM 或外部存储器启动;具备灵活的时钟系统和中断优先级配置。

2. 解释STM32的看门狗定时器(WDT)的作用。

答案:STM32的看门狗定时器是一种硬件定时器,用于监控程序的运行状态。

如果程序在预定的时间内没有重置看门狗定时器,它将触发系统复位,防止系统因软件故障而挂起。

这在嵌入式系统中非常重要,以确保系统的稳定性和可靠性。

stm32考试题及答案解析式

stm32考试题及答案解析式

stm32考试题及答案解析式STM32考试题及答案解析1. STM32系列微控制器属于以下哪种类型的处理器?A. 8位B. 16位C. 32位D. 64位答案:C解析:STM32系列微控制器是基于ARM Cortex-M内核的32位微控制器。

2. 下列哪个不是STM32的外设接口?A. USARTB. I2CC. SPID. USB答案:D解析:STM32微控制器通常具有USART、I2C和SPI等外设接口,而USB接口虽然在某些型号上可用,但并非所有STM32型号都具备。

3. STM32的时钟系统包括哪些主要部分?A. 内部RC振荡器B. 外部晶振C. 外部RC振荡器D. PLL答案:ABCD解析:STM32的时钟系统由内部RC振荡器、外部晶振、外部RC振荡器和PLL(相位锁定环)等组成,这些组件共同工作以提供系统所需的时钟信号。

4. STM32的中断优先级是如何设置的?A. 通过编程设置B. 通过硬件设置C. 通过中断向量表设置D. 通过中断服务程序设置答案:A解析:STM32的中断优先级可以通过编程设置,使用NVIC(嵌套向量中断控制器)的相关寄存器来配置。

5. 下列哪个不是STM32的启动模式?A. 从Flash启动B. 从RAM启动C. 从SRAM启动D. 从外部存储器启动答案:B解析:STM32的启动模式包括从Flash启动、从SRAM启动和从外部存储器启动,而从RAM启动不是STM32的标准启动模式。

6. STM32的GPIO(通用输入/输出)端口可以配置为哪些模式?A. 输入模式B. 输出模式C. 模拟模式D. 复用功能模式答案:ABCD解析:STM32的GPIO端口可以配置为输入模式、输出模式、模拟模式以及复用功能模式,以适应不同的应用需求。

7. STM32的ADC(模拟/数字转换器)可以支持多少通道?A. 8通道B. 16通道C. 32通道D. 64通道答案:B解析:STM32的ADC通常支持16个通道,但具体数量可能因型号而异。

基于STM32CubeMX和HAL驱动库的嵌入式系统设计mooc课后章节答案期末考试题库

基于STM32CubeMX和HAL驱动库的嵌入式系统设计mooc课后章节答案期末考试题库

基于STM32CubeMX和HAL驱动库的嵌入式系统设计_电子科技大学中国大学mooc课后章节答案期末考试题库2023年1.STM32的每个GPIO引脚具备多种功能,这些功能可以同时使用。

参考答案:错误2.串口中断发送函数HAL_Transmti_IT在调用完成后,将关闭发送中断。

参考答案:正确3.下面不属于微控制器最小系统(狭义)的电路单元是参考答案:显示电路4.下面不属于串口通信的数据传输方式是参考答案:通道5.假设定时器时钟TIMx_CLK为100MHz,PWM输出为PWM1模式。

当自动重载值ARR=999,捕获/比较值CCR=200,有效电平为高电平,向上计数时,输出PWM信号的占空比是多少?参考答案:20%6.定时器设置为递减计数时,发生溢出后,计数器的重载值由哪一个寄存器决定?参考答案:自动重载寄存器7.假设定时器2的定时器时钟TIM_CLK为50MHz,预分频寄存器PSC的值为9999,自动重载寄存器ARR的值也为9999,则定时器的更新时间(定时时间)为参考答案:2000ms8.在CubeMX软件中,如果将定时器的参数Period设置为0,定时器将不会启动。

参考答案:正确9.定时器属于计数器的一种,它是对周期固定的脉冲进行计数。

参考答案:正确10.预分频寄存器的作用是扩大定时器的定时范围,并获取精确的时钟。

参考答案:正确11.下面不属于STM32CubeMX软件使用步骤的操作是参考答案:程序仿真12.STM32CubeMX软件可以进行程序的编译和下载。

参考答案:错误13.STM32CubeMX软件可以用于芯片的选型。

参考答案:正确14.STM32CubeMX软件提供了交叉选型功能,可以在STM32的产品线中筛选出一个芯片型号,这个芯片型号与用户曾经使用过的微控制器型号在性能和资源等方面最为接近,便于用户快速转换到STM32平台进行项目开发。

参考答案:正确15.下面不属于MDK-ARM软件使用步骤的是参考答案:电路设计16.MDK软件的RTE环境和CubeMX软件联合使用时,在CubeMX软件中不需要进行哪一步操作?参考答案:目标选择17.MDK-ARM软件可以独立新建工程,而不必借助CubeMX软件。

stm32考试题及答案判断题

stm32考试题及答案判断题

stm32考试题及答案判断题一、判断题(每题2分,共20分)1. STM32系列微控制器是基于ARM Cortex-M3内核的。

()答案:√2. STM32的所有I/O端口均支持5V容限。

()答案:×3. STM32的内部时钟系统可以提供高达72MHz的时钟频率。

()答案:×4. STM32的ADC模块可以同时对多个通道进行采样。

()答案:√5. STM32的USART模块可以配置为硬件流控制模式。

()答案:√6. STM32的内部Flash存储器可以作为程序存储空间,也可以作为数据存储空间。

()答案:√7. STM32的GPIO端口可以配置为模拟输入模式。

()答案:√8. STM32的RTC模块可以提供毫秒级的定时功能。

()答案:×9. STM32的DMA控制器可以用于内存到内存的数据传输。

()答案:√10. STM32的CAN模块支持CAN 2.0B协议。

()答案:√二、填空题(每题2分,共20分)1. STM32的______内核支持中断嵌套,最多可以嵌套______层中断。

(ARM Cortex-M3,8)2. STM32的内部时钟系统可以通过______模块进行配置。

(RCC)3. STM32的______模块可以用于生成精确的时间延迟。

(TIM)4. STM32的______模块可以用于存储用户数据。

(EEPROM)5. STM32的______模块可以用于实现PWM输出。

(TIM)6. STM32的______模块可以用于实现模数转换。

(ADC)7. STM32的______模块可以用于实现数模转换。

(DAC)8. STM32的______模块可以用于实现实时时钟功能。

(RTC)9. STM32的______模块可以用于实现看门狗功能。

(IWDG)10. STM32的______模块可以用于实现以太网通信。

(ETH)三、简答题(每题10分,共40分)1. 简述STM32的内部时钟系统的主要组成部分。

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

《嵌入式技术》期末考试题及答案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、LED2、PC3、MCU4、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输出。

基于STM32CubeMX和HAL驱动库的嵌入式系统设计课后章节答案期末考试题库2023年

基于STM32CubeMX和HAL驱动库的嵌入式系统设计课后章节答案期末考试题库2023年

基于STM32CubeMX和HAL驱动库的嵌入式系统设计_电子科技大学中国大学mooc课后章节答案期末考试题库2023年1.微控制器芯片内部集成了答案:CPU2.在STM32产品系列中,工作频率最高的是答案:STM32H73.配置GPIO输出高电平,应该使用下列哪一个寄存器?答案:输出数据寄存器4.如果要设置引脚PC10输出高电平,下面哪一个代码是正确的?答案:HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_SET)5.在下列的数据传输方式中,适合处理突发事件的传输方式是答案:中断6.定时器设置为递增计数时,发生溢出后,计数器的重载值由哪一个寄存器决定?答案:自动重载寄存器7.利用定时器产生PWM信号,自动重载寄存器ARR的值999,捕获/比较寄存器CCR的值为430,则生成的PWM信号的占空比为答案:43%8.串口采用中断方式发送数据时,使用的函数为HAL_UART_Receive_IT。

下面哪一个参数不属于该函数的入口参数答案:Timeout9.下列不输入嵌入式系统软件组成部分的是答案:集成开发环境10.I/O引脚引发的外部中断,其触发方式可以选择下面的哪一种?答案:上升沿11.利用STM32CubeMX软件生成程序代码后,用户可以在程序的任何位置添加用户代码,再次使用STM32CubeMX软件生成程序时也不会被覆盖。

答案:错误12.同一个定时器可以利用输出通道输出多个PWM信号,这些PWM信号的周期和占空比都可以不同。

答案:错误13.在设置GPIO触发的外部中断时,PA5引脚和PB5引脚可以同时中断。

答案:错误14.置位/复位寄存器(GPIOx_BSRR)的低16位写入1,对应的引脚输出高电平。

写入0,对应的引脚输出低电平。

答案:错误15.所有的STM32微控制器都使用相同的HAL库软件包。

答案:错误。

stm32单片机考试题目及答案

stm32单片机考试题目及答案

stm32单片机考试题目及答案**STM32单片机考试题目及答案**一、单项选择题(每题2分,共20分)1. STM32单片机属于以下哪种类型的微控制器?A. 8位微控制器B. 16位微控制器C. 32位微控制器D. 64位微控制器**答案:C**2. STM32单片机使用的指令集架构是什么?A. ARM7B. ARM9C. Cortex-M3D. Cortex-A8**答案:C**3. STM32单片机的时钟系统主要由哪些部分组成?A. HSI、HSE、PLLB. MSI、HSE、PLLC. HSI、LSE、PLLD. MSI、LSE、PLL**答案:A**4. STM32单片机中,以下哪个寄存器用于配置GPIO的输入输出模式?A. CRH/CRHB. IDR/ODRC. BSRR/BRD. AFR**答案:A**5. STM32单片机的中断优先级配置是通过哪个寄存器完成的?A. NVIC_ISERB. NVIC_IPRC. NVIC_ICERD. NVIC_IABR**答案:B**6. STM32单片机中,以下哪个是定时器的中断事件?A. 更新中断B. 比较匹配中断C. 捕获比较中断D. 所有以上**答案:D**7. STM32单片机的ADC模块支持的分辨率是多少位?A. 8位B. 10位C. 12位D. 16位**答案:C**8. STM32单片机的I2C通信协议中,主设备和从设备之间的通信速率最高可以达到多少?A. 100kHzB. 400kHzC. 1MHzD. 3.4MHz**答案:B**9. STM32单片机中,以下哪个不是串行通信接口?A. USARTB. SPIC. I2CD. ADC**答案:D**10. STM32单片机中,以下哪个不是外设时钟源?A. HSIB. HSEC. LSID. MSI**答案:D**二、填空题(每题2分,共20分)1. 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.50MHzC.36MHz D.72MHz4.当输出模式位MODE[1:0]=“10”时,最大输出速度为(B )。

A.10MHz B.2MHzC.50MHz D.72MHz三、简答题1.简述不同复用功能的重映射。

答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。

这时,复用功能不再映射到它们原始分配的引脚上。

在程序上,是通过设置复用重映射和调试I/O配置寄存器(AFIO_MAPR)来实现引脚的重新映射。

各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。

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

答:主要特点如下:❑通用I/O,可以作为输出、输入等功能。

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

❑外部中断/唤醒线。

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

❑GPIO锁定机制。

stm32复习题及答案

stm32复习题及答案

stm32复习题及答案STM32复习题及答案STM32是一种嵌入式微控制器,被广泛应用于各种电子设备中。

它具有强大的功能和灵活性,因此在工程师和学生中非常受欢迎。

为了帮助大家更好地复习STM32相关知识,下面将提供一些常见的复习题及其答案。

一、基础知识题1. STM32是什么?答:STM32是意法半导体(STMicroelectronics)推出的一款32位嵌入式微控制器系列,广泛应用于各种电子设备中。

2. STM32的主要特点是什么?答:主要特点包括:32位处理器架构、高性能、低功耗、丰富的外设接口、易于开发和调试等。

3. STM32的主要应用领域有哪些?答:主要应用领域包括:消费电子、工业自动化、汽车电子、医疗设备等。

4. STM32的开发环境是什么?答:STM32的开发环境主要包括:Keil MDK-ARM、IAR Embedded Workbench、STM32CubeIDE等。

5. STM32的编程语言是什么?答:STM32可以使用多种编程语言进行开发,包括C语言、汇编语言等。

二、编程实践题1. 编写一个程序,使LED灯每隔1秒钟闪烁一次。

答:```c#include "stm32f10x.h"void Delay(uint32_t nCount) {for (; nCount != 0; nCount--);}int main(void) {RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;GPIOC->CRH &= ~GPIO_CRH_CNF13;GPIOC->CRH |= GPIO_CRH_MODE13_0;while (1) {GPIOC->ODR ^= GPIO_ODR_ODR13;Delay(1000000);}}```2. 编写一个程序,使按下按键后,LED灯亮起,松开按键后,LED灯熄灭。

答:```c#include "stm32f10x.h"void Delay(uint32_t nCount) {for (; nCount != 0; nCount--);}int main(void) {RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;GPIOC->CRH &= ~GPIO_CRH_CNF13;GPIOC->CRH |= GPIO_CRH_MODE13_0;GPIOA->CRL &= ~GPIO_CRL_CNF0;GPIOA->CRL |= GPIO_CRL_CNF0_1;while (1) {if (GPIOA->IDR & GPIO_IDR_IDR0) {GPIOC->ODR |= GPIO_ODR_ODR13;} else {GPIOC->ODR &= ~GPIO_ODR_ODR13;}Delay(100000);}}```三、实际应用题1. 设计一个温度监测系统,当温度超过某个阈值时,LED灯亮起并发出警报。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简述嵌套向量中断控制器(N V IC)的主要特性。

答: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提供了一个高级控制定时器(TIM1)。

TIM1由一个16位的自动装载计数器组成,它由一个可编程预分频器驱动。

TIM1适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。

使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。

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

2.简述STM32时钟的类型。

答:STM32提供了三种不同的时钟源,其都可被用来驱动系统时钟SYSCLK,这三种时钟源分别为:q HSI 振荡器时q HSE振荡器时钟q PLL时钟这三种时钟源还可以有以下2种二级时钟源:q 32kHz低速内部RC,可以用于驱动独立看门狗和RTC。

其中,RTC用于从停机/待机模式下自动唤醒系统。

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

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

1.简述DMA控制器的基本功能。

答:STM32的DMA 控制器有7个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。

还有一个仲裁器来协调各个DMA 请求的优先权。

DMA 控制器和Cortex-M3 核共享系统数据线执行直接存储器数据传输。

因此,1 个DMA请求占用至少2 个周期的CPU 访问系统总线时间。

为了保证Cortex-M3 核的代码执行的最小带宽,DMA 控制器总是在2 个连续的DMA 请求间释放系统时钟至少1 个周期。

NVIC和外部中断:配置中断0(LED绿灯闪1次),中断1(LED蓝灯闪2次),中断2三个中断(LED 绿灯闪3次),执行顺序为0-->1-->2。

(默认中断0闪烁的是绿灯)按下按键,绿灯闪(一亮一灭)1次,蓝灯闪2次,然后绿灯闪3次,中断结束。

#include "stm32l1xx.h"#include "stdio.h"#include "discover_board.h"#include "stm32l_discovery_lcd.h"#include "stdarg.h"/* Private function prototypes -----------------------------------------------*/ void RCC_Configuration(void);void Init_GPIOs (void);void Delay(uint32_t nTime);void USART_Configuration(void);void EXTI_Configuration(void);void NVIC_Configuration(void);static volatile uint32_t TimingDelay;int main(void){ /* Configure Clocks for Application need */RCC_Configuration();SysTick_Config(16000000/ 2000);NVIC_Configuration();/* Init I/O ports */Init_GPIOs();USART_Configuration();EXTI_Configuration();// printf("\r\nWelcome !!!\r\n");while(1){ // Delay(20);// printf("\r\nWelcome !!!\r\n");}}void RCC_Configuration(void){ RCC_DeInit();/* Enable HSI Clock */RCC_HSICmd(ENABLE);/*!< Wait till HSI is ready */while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET){}/* RCC_PLLCmd(DISABLE);RCC_PLLConfig(RCC_PLLSource_HSI,RCC_PLLMul_3,RCC_PLLDiv_2);RCC_PLLCmd(ENABLE); *//*!< Wait till PLL is ready */// while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)// {}// RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);RCC_MSIRangeConfig(RCC_MSIRange_6);RCC_HSEConfig(RCC_HSE_OFF);if(RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET ){ while(1); }/* Enable comparator clock LCD and PWR mngt *///RCC_APB1PeriphClockCmd(RCC_APB1Periph_LCD | RCC_APB1Periph_PWR, ENABLE);/* Enable ADC clock & SYSCFG */RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_SYSCFG | RCC_APB2Periph_USART1 , ENABLE);}void Init_GPIOs (void){ GPIO_InitTypeDef GPIO_InitStructure;/* Enable GPIOs clock */RCC_AHBPeriphClockCmd(LD_GPIO_PORT_CLK|USERBUTTON_GPIO_CLK, ENABLE);/* Configure User Button pin as input */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;//USERBUTTON_GPIO_PIN GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;GPIO_Init(USERBUTTON_GPIO_PORT, &GPIO_InitStructure);/* Configure the GPIO_LED pins LD3 & LD4*/GPIO_InitStructure.GPIO_Pin = LD_GREEN_GPIO_PIN | LD_BLUE_GPIO_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;GPIO_Init(LD_GPIO_PORT, &GPIO_InitStructure);//GPIO_LOW(LD_GPIO_PORT, LD_GREEN_GPIO_PIN);//GPIO_LOW(LD_GPIO_PORT, LD_BLUE_GPIO_PIN);/*Configure the USART1_GPIO_PORT *//* Connect PA9 to USART1_Tx */GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);/* Connect PA10 to USART1_Rx*/GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);/* Configure USART1_Tx and USART1_Rx as alternate function */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOA, &GPIO_InitStructure);/* Enable all GPIOs clock */RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB |RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD |RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH, ENABLE);}void USART_Configuration(void){USART_InitTypeDef USART_InitStructure;USART_ClockInitTypeDef USART_ClockIni;USART_ART_BaudRate = 9600;USART_ART_WordLength = USART_WordLength_8b;USART_ART_StopBits = USART_StopBits_1;USART_ART_Parity = USART_Parity_No ;USART_ART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_ART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_Init(USART1,&USART_InitStructure);USART_ART_Clock = USART_Clock_Disable;USART_ART_CPOL = USART_CPOL_Low;USART_ART_CPHA = USART_CPHA_2Edge;USART_ART_LastBit = USART_LastBit_Disable;USART_ClockInit(USART1,&USART_ClockIni);USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);USART_Cmd(USART1,ENABLE)}void EXTI_Configuration(){ EXTI_InitTypeDef EXTI_InitStructure;/定义PA0,PA1,PA2为外部中断输入通道/SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0);SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource1);SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource2);/* Configure EXT1 Line 0 1 2 in interrupt mode trigged on Falling edge */EXTI_InitStructure.EXTI_Line = EXTI_Line0|EXTI_Line1|EXTI_Line2 ; // PA0 for User buttonEXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);}void NVIC_Configuration(){ NVIC_InitTypeDef NVIC_InitStructure;#ifdef VECT_TAB_RAM//Èç¹ûC/C++ Compiler\Preprocessor\Defined symbolsÖеĶ¨ÒåÁËVECT_TAB_RAM£¨¼û³ÌÐò¿â¸ü¸ÄÄÚÈݵıí¸ñ£©NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //ÔòÔÚRAMµ÷ÊÔ#else //Èç¹ûûÓж¨ÒåVECT_TAB_RAMNVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);//ÔòÔÚFlashÀïµ÷ÊÔ#endif //½áÊøÅжÏÓï¾äNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/* Enable and set EXTI0 Interrupt to the lowest priority */ NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn ;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn ;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn ;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);}void Delay(uint32_t nTime){TimingDelay = nTime;while(TimingDelay != 0);}void TimingDelay_Decrement(void){if (TimingDelay != 0x00){ TimingDelay--; }}int fputc(int ch,FILE *f){ USART_SendData(USART1,(unsigned char)ch);while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);return ch;}#include "stm32l1xx_it.h"#include "main.h"void NMI_Handler(void){}void HardFault_Handler(void){ /* Go to infinite loop when Hard Fault exception occurs */while (1) { }}void MemManage_Handler(void){ /* Go to infinite loop when Memory Manage exception occurs */ while (1) { }}void BusFault_Handler(void){/* Go to infinite loop when Bus Fault exception occurs */ while (1) { }}void UsageFault_Handler(void){ /* Go to infinite loop when Usage Fault exception occurs */ while (1) {}}void SVC_Handler(void){}void DebugMon_Handler(void){}void PendSV_Handler(void){}void SysTick_Handler(void){TimingDelay_Decrement();}void DMA1_Channel1_IRQHandler (void){}void RTC_WKUP_IRQHandler(void){}void EXTI0_IRQHandler(void){ int i;GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}EXTI_GenerateSWInterrupt(EXTI_Line1);EXTI_ClearFlag(EXTI_Line0);}void EXTI1_IRQHandler(void){int i;GPIO_TOGGLE(LD_GPIO_PORT ,LD_BLUE_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_BLUE_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_BLUE_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_BLUE_GPIO_PIN );for(i=0;i<500000;i++){}EXTI_GenerateSWInterrupt(EXTI_Line2);EXTI_ClearFlag(EXTI_Line1);}void EXTI2_IRQHandler(void){int i;GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}GPIO_TOGGLE(LD_GPIO_PORT ,LD_GREEN_GPIO_PIN );for(i=0;i<500000;i++){}EXTI_ClearFlag(EXTI_Line2);}/*void PPP_IRQHandler(void){}*/ * @}(配置的两个定时器通道的中断请求的时间间隔分别为1秒和2秒)红红每隔1秒闪烁1次,绿灯每隔2秒闪烁1次。

相关文档
最新文档