1、STM32 习题集一、选择题1.Cortex-M 处理器采用的架构是( D )(A)v4T ( B)v5TE (C)v6 (D)v72.NVIC 可用来表示优先权等级的位数可配置为是( D )(A)2 ( B)4 (C)6 (D)83.Cortex-M 系列正式发布的版本是( A )(A)Cortex-M3 (B)Cortex-M4 (C )Cortex-M6 (D)Cortex-M84.Cortex-M3 的提供的流水线是( B )(A)2 级 ( B)3 级 (C)5 级 (D)8 级5.Cortex-M3 的提供的单周期乘法位数是( C )(A)8 (B)16 (C)32 (D)646.
2、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
3、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 端口有
4、( )个 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 引脚有一个内部
5、微弱的上拉和下拉,当它们被配置为( 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 或者 DISA
6、BLE (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 (
7、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.
8、中断屏蔽器能屏蔽( 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 )URS30.以下对于 STM32 ADC 描述正确的是( B )(A)STM32 ADC 是一个 12 位连续近似模拟到数字的转换器(B)STM32 ADC 是一个 8 位连续近似模拟到数字的转换器(C)S
9、TM32 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)数据对齐方式
10、与内建数据一致35.以下对 STM32F107 集成 A/D 的特性描述正确的是( B )(A)供电需求: 2.6V 到 3.8V(B)输入范围:VREF-VINVREF+(C)性能线设备的转换时间:28MHz 时为 1us(D)访问线设备的转换时间: 56MHz 时为 1us36.以下为 STM32 的 GPIO 端口配置寄存器的描述,在 GPIO 控制 LED 电路设计时,要使最大输出速度为 10MHz,应该设置( B )(A)CNFy1:0 (B )MODEy1:0 (C)MODE (D )CNF37.以下为 GPIO 端口配置寄存器的描述,在 GPIO 控制 LED 电路设计时,要使最
11、大输出速度为 2MHz,应该设置 MODE1: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.S
12、ysTick 定时器校正值为( 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 )E
13、XTI 线 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 JO
14、FR4;_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./*
15、 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
16、;_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 级 (
17、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 或者 N
18、O50.DMA 控制器可编程的数据传输数目最大为( A ) 。A65536 B65535C1024 D409651.STM32 中,1 个 DMA 请求占用至少( B )个周期的 CPU 访问系统总线时间。A1 B2C3 D452.STM32 的 USART 根据( A )寄存器 M 位的状态,来选择发送 8 位或者 9 位的数据字。AUSART_CR1 BUSART_CR2CUSART_BRR DUSART_CR353.下面不属于 STM32 的 bxCAN 的主要工作模式为( C ) 。A初始化模式 B正常模式C环回模式 D睡眠模式54.和 PC 系统机相比嵌入式系统不具备以下哪个特点(
19、C ) 。A、系统内核小 B、专用性强C、可执行多任务 D、系统精简55.嵌入式系统有硬件和软件部分构成,以下( C )不属于嵌入式系统软件。A. 系统软件 B. 驱动 C. FPGA 编程软件 D. 嵌入式中间件56在 APB2 上的 I/O 脚的翻转速度为( A ) 。A18MHz B50MHzC36MHz D72MHz57当输出模式位 MODE1:0=“10”时,最大输出速度为( B ) 。A10MHz B2MHzC50MHz D72MHz58在 ADC 的扫描模式中,如果设置了 DMA 位,在每次 EOC 后,DMA 控制器把规则组通道的转换数据传输到( A )中。ASRAM BFla
20、shCADC_JDRx 寄存器 DADC_CR159STM32 规则组由多达( A )个转换组成。A16 B18C4 D2060在 STM32 中, ( A )寄存器的 ALIGN 位选择转换后数据储存的对齐方式。AADC_CR2 BADC_JDRxCADC_CR1 DADC_JSQR61ARM Cortex-M3 不可以通过( D )唤醒 CPU。AI/O 端口 BRTC 闹钟CUSB 唤醒事件 DPLL62STM32 嵌套向量中断控制器(NVIC) 具有( A ) 个可编程的优先等级。A16 B43C72 D3664STM32 的外部中断/ 事件控制器(EXTI)支持( C )个中断/ 事
21、件请求。A16 B43C19 D3665STM32 的 USART 根据( A )寄存器 M 位的状态,来选择发送 8 位或者 9 位的数据字。AUSART_CR1 BUSART_CR2CUSART_BRR DUSART_CR366DMA 控制器可编程的数据传输数目最大为(A ) 。A65536 B65535C1024 D409667每个 DMA 通道具有( A )个事件标志。A3 B4C5 D668STM32 中,1 个 DMA 请求占用至少( B )个周期的 CPU 访问系统总线时间。A1 B2C3 D4二、判断题1.Cortex-M3 系列处理器支持 Thumb 指令集。 ( 错 )2.
22、Cortex-M3 系列处理器支持 Thumb-2 指令集。 ( 对 )3.Contex-M3 系列处理器内核采用了哈佛结构的三级流水线。 ( 对 )4.Cortex-M 系列不支持 Thumb-2 指令集。 ( 错 )5.Contex-M3 系列处理器内核采用了冯诺依曼结构的三级流水线。 ( 错 )6.STM32 系列 MCU 在使用电池供电时,提供 3.35V 的低电压工作能力。 ( 错 )7.STM32 处理器的 LQPF100 封装芯片的最小系统只需 7 个滤波电容作为外围器件。 ( dui )8.Cortex-M3 在待机状态时保持极低的电能消耗,典型的耗电值仅为 2A。 ( 错 )
23、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.向量中断控
24、制器只负责优先级的分配与管理,中断的使能和禁止和它无关。 ( 错 )18.Cortex-M3 体系架构中,有了位带位操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。 (对)19.Cortex-M3 体系架构中,有两个区中实现了位带:一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设 区的最低 1MB 范围。 (对)20.stm3210xx 的固件库中, RCC_DeInit 函数是将 RCC 寄存器重新设置为默认值。 (对)21.stm3210xx 的固件库中, RCC_PCLK2Config 函数是用于设置低速 APB 时钟。 (错 )22.STM32 的串口既可以工作
25、在全双工模式下,也可工作在半双工模式下。 ( 对)23.STM32 的串口既可以工作在异步模式下,也可工作在同步模式下。 (对)24.每个 I/O 端口位可以自由的编程,尽管 I/O 端口寄存器必须以 32 位字的方式访问。 (对)25.所有的 GPIO 引脚有一个内部微弱的上拉和下拉,当它们被配置为输入时可以是激活的或者非激活的。 ( 对)26.所有的 GPIO 引脚有一个内部微弱的上拉和下拉,当它们被配置为输出时可以是激活的或者非激活的。 (错 )27.端口输入数据寄存器的复位值为 00000000H。 ( 对)28.端口输入数据寄存器位15:0是只读的,并且仅能按字访问,它们包含相关 I
26、/O 端口的输入值。 (对 )29.端口输入数据寄存器位7:0是只读的,并且仅能按字访问,它们包含相关 I/O 端口的输入值。 ( 错)30.固件包里的 Library 文件夹包括一个标准的模板工程,该工程编译所有的库文件和所有用于创建一个新工程所必须的用户可修改文件。 ( 错)31.从是否可编程的角度 ,中断可分为固定优先级中断和可调整优先( 对 )32.从某种意义上说,异常就是中断。 (对 )33.所谓不可屏蔽的中断就是优先级不可调整的中断。 ( 错)34.向量中断控制器只负责优先级的分配与管理,中断的使能和禁止和它无关。 (错)35.中断的优先级和它在中断向量表里的位置没有关系。 ( 错
27、)36.当抢占式优先级不一样时,一定会发生抢占。 ( 错)37.向量中断控制器允许有相同的优先级。 ( 对)38.如果两个中断的抢占式优先级相同,则按先来后到的顺序处理。 (对 )39ADC 主要完成模/数转换功能。 ( 对)40.STM32 ADC 是一个 12 位的连续近似模拟到数字的转换器。 ( 对)41.ADC 转换器在每次结束一次转换后触发一次 DMA 传输。 (对)42.由 AD 的有限分辨率而引起的误差称为量化误差。 (对)43.转换速率是指完成一次从模拟到数字的 AD 转换所需的时间。 ( 对)44.STM32 ADC 只可以在单一模式下工作。 ( 错)45.如果规则转换已经在
28、运行,为了注入转换后确保同步,所有的 ADC 的规则转换被停止,并在注入转换结束时同步恢复。 ( 对)三、填空题1ST 公司的 STM32 系列芯片采用了 Cortex-M3 内核,其分为两个系列。 STM32F101 系列为标准型,运行频率为 36MHZ ; STM32F103 系列为标准型,运行频率为 72MHZ 。2当 STM32 的 I/O 端口配置为输入时, 输出缓冲器 被禁止, 施密特触发输入 被激活。根据输入配置(上拉,下拉或浮动 )的不同,该引脚的 弱上拉和下拉电阻 被连接。出现在 I/O 脚上的数据在每个 APB2 时钟被采样到输入数据寄存器,对 输入数据寄存器 的读访问可得
29、到 I/O 状态。3STM32 的所有端口都有外部中断能力。当使用 外部中断线 时,相应的引脚必须配置成 输入模式 。4STM32 具有单独的位设置或位清除能力。这是通过 GPIOX_BSRR 和 GPIOX_BRR 寄存器来实现的。5ST 公司还提供了完善的通用 IO 接口库函数,其位于 stm32f10x_bgpio.c ,对应的头文件为 stm32f10x_gpio.h 。6为了优化不同引脚封装的外设数目,可以把一些 复用功能 重新映射到其他引脚上。这时,复用功能不再映射到 它们原始分配的引脚 上。在程序上,是通过设置 复用重映射和调试 I/O 口配置寄存器( AFIO_MAPR) 来实
30、现引脚的重新映射。7STM32 芯片内部集成的 12 位 ADC 是一种逐次逼近型模拟数字转换器,具有 18 个通道,可测量 16 个外部和 2 个内部信号源。8在 STM32 中,只有在 规则通道 的转换结束时才产生 DMA 请求,并将转换的数据从 ADC_DR 寄存器传输到用户指定的目的地址。9在有两个 ADC 的 STM32 器件中,可以使用 双 ADC 模式。在 双 ADC 模式里,根据 ADC_CR1 寄存器中 DUALMOD2:0 位所选的模式,转换的启动可以是ADC1 主和 ADC2 从的交替触发或同时触发。10ADC 的校准模式通过设置 ADC_CR2 寄存器的 CAL 位来启
31、动。11在 STM32 中, ADC_CR2 寄存器的 ALIGN 位选择转换后数据储存的对齐方式。12在 STM32 内部还提供了 温度传感器 ,可以用来测量器件周围的温度。温度传感器在内部和 ADC_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。内部参考电压 VREFINT 和 ADC_IN17 相连接。13STM32 的 嵌入向量中断控制器(NVIC) 管理着包括 Cortex-M3 核异常等中断,其和 ARM 处理器核的接口紧密相连,可以实现 低延迟 的中断处理,并有效地处理 晚到 中断。14STM32 的外部中断/ 事件控制器(EXTI)由 19 个产生事件/中断要
32、求的边沿检测器组成。每个输入线可以独立地配置 输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发) 。每个输入线都可以被独立的屏蔽。 挂起寄存器 保持着状态线的中断要求。15STM32 的 EXTI 线 16 连接到 PVD 输出 。16STM32 的 EXTI 线 17 连接到 RTC 闹钟事件 。17STM32 的 EXTI 线 18 连接到 USB 唤醒事件 。18STM32 的 USART 为通用同步异步收发器,其可以与使用工业标准 NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。19STM32 的 USART 可以利用 分数波特率 发生器提供宽范围的波特
33、率选择。20智能卡是一个 单线半双工 通信协议,STM32 的智能卡功能可以通过设置USART_CR3 寄存器的 SCEN 位来选择。22系统计时器(SysTick)提供了 1 个 24 位,降序,的计数器,具有灵活的控制机制23STM32 的通用定时器 TIM,是一个通过 可编程预分频器 驱动的 16 位自动装载计数器构成。24STM32 通用定时器 TIM 的 16 位计数器可以采用三种方式工作,分别为 向上计数 模式、 向下计数 模式和 中央对其 模式。25ST 公司还提供了完善的 TIM 接口库函数,其位于 stm32f10x_tim.c ,对应的头文件为 stm32f10x_tim.
34、h。26TIM1 的 益处/下益时更新事件(UEV) 只能在重复向下计数达到 0 的时候产生。这对于能产生 PWM 信号非常有用。27TIM1 具备 16 位可编程预分频器,时钟频率的分频系数为 165535 之间的任意数值。28STM32 系列 ARM Cortex-M3 芯片支持三种复位形式,分别为 系统 复位、 电源 复位和 备份区域 复位。29STM32 还提供了用户可通过多个预分频器,可用来进一步配置 AHB 、高速 APB(APB2 ) 和低速 APB(APB1 ) 域的频率。30用户可用通过 32.768K Hz 外部振荡器,为系统提供更为精确的主时钟。在时钟控制寄存器 RCC_
35、CR 中的 HSERDY 位用来指示高速外部振荡器是否稳定。31ST 公司还提供了完善的 RCC 接口库函数,其位于 stm32f10x_rcc.c ,对应的头文件为 stm32f10x_rcc.h 。32当 STM32 复位后, HSL 振荡器 将被选为系统时钟。当时钟源被直接或通过PLL 间接作为系统时钟时,它将不能被 停止 。只有当 目标时钟源 准备就绪了(经过启动稳定阶段的延迟或 PLL 稳定),才可以从一个时钟源切换到另一个时钟源。在被选择时钟源没有就绪时,系统时钟的切换 不会发生 。33在 STM32 中,备份寄存器是 16 位的寄存器,共 10 个,可以用来存储 20 个字节的用
36、户应用程序数据。34备份寄存器位于 备份区 里,当 主电源 VDD 被切断,他们仍然由 VBAT 维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们 也不会 被复位。35STM32 的备份寄存器还可以用来实现 RTC 校准功能。为方便测量,32.768kHz的 RTC 时钟可以输出到 入侵检测 引脚上。通过设置 RTC 校验寄存器(BKP_RTCCR) 的 CCO 位来开启这一功能。36当 STM32 的 ANTI_TAMP 引脚上的信号发生跳变时,会产生一个侵入检测事件,这将使所有数据备份寄存器 复位 。37ST 公司还提供了完善的备份寄存器接口库函数,其位于 stm32f10
37、x_bkp.c ,对应的头文件为 stm32f10x_bkp.h 。38STM32 的 DMA 控制器有 7 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问的请求。还有一个 仲裁器 来协调各个 DMA 请求的优先权。39在 DMA 处理时,一个事件发生后,外设发送一个请求信号到 DMA 控制器 。DMA 控制器根据通道的 优先权 处理请求。40DMA 控制器的每个通道都可以在有固定地址的 外设寄存器和 存储器地址 之间执行 DMA 传输。DMA 传输的数据量是可编程的,可以通过 DMA_CCRX 寄存器中的 PSIZE 和 MSIZE 位编程。41ST 公司还提供了完善的 DMA
38、 接口库函数,其位于 stm32f10x_dma.c ,对应的头文件为 stm32f10x_dma.h 。45在 STM32 中,从外设(TIMx、ADC、SPIx、I2Cx 和 USARTx)产生的 7 个请求,通过逻辑 与 输入到 DMA 控制器,这样同时 只能有一个 个请求有效。四、简答题1、什么是嵌入式系统?嵌入式系统一般由哪几部分构成? P12、ARM v7 的体系结构可以分为哪几个子版本(款式) ,分别应用在什么领域? P123、Cortex-M3 的处理器有那两种工作模式和状态?如何进行工作模式和状态的切换?P184、Cortex-M3 的存储空间可以分为哪几个部分,每一部分的地
39、址范围是怎样的?P265、什么是位绑定区、位绑定别名区?它们有怎样的关系?P30316、基于 CMSIS 标准的软件架构分为那几层?其中的 CMSIS 层一般由哪几部分组成?P667、简述 STM32 固件库命名规则。8、STM32 共有那几种基本时钟信号?9、简述设置系统时钟的基本流程。P8610、STM32 的 GPIO 的配置模式有那几种?如何进行配置模式的配置?P9311、简述 STM32 的不同复用功能的重映射功能。12、简述嵌套向量中断控制器(NVIC)的主要特性。P3813、简述 STM32 的优先级划分与抢占的过程。P11014、简述 STM32 的 USART 的功能特点。1
40、5、如何设置 STM32 的串口的波特率。P13616、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_InitS
41、tructure.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, while (1)/*循环点亮 LED*/GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x01); / Delay(0XFFFFF);GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x00); / De
42、lay(0XFFFFF); GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x01); / Delay(0XFFFFF);GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x00); / Delay(0XFFFFF);(1)简述 GPIO_Configuration 函数对 IO 接口配置的步骤;解:设置引脚、设置速率、设置模式(2)分析该程序,LED 分别连接在哪些 IO 引脚上,当引脚输出高电平时,是点亮还是熄灭 LED? 解:点亮(3)分析循环点亮 LED 代码,补充相应的注释。解:点亮连接的 PA2 上的
43、 LED 灯、熄灭.、点亮连接 PA3 上的 LED、熄灭(4)库函数 GPIO_SetBits 和 GPIO_ResetBits 的原形如下,用这两个函数重写循环点亮LED 代码。第五章 P107 方法 52、利用 STM32 的 GPIO 接口及其操作,实现 4 个 LED 按照 LED1、LED2、LED3、LED4的顺序循环显示。硬件连接图如图所示。解:参照第一题3、已知系统时钟为 72MHz,采用定时器 TIM1 产生周期为 100ms 的定时时间间隔并通过LED 发光二极管指示定时过程。P156 P161 24 步解:T=4、下面的程序利用 TIM3产生 PWM 信号。 频率:TIM3CLK = 36MHz,Prescaler = 0x0,得到 TIM3 counter clock = 36MHz。TIM3 ARR Register = 999,进而设定 TIM3频率 = TIM3 counter clock/(ARR + 1)= 36kHz。 TIM3通道 1的占空比 =(TIM3_CCR1/ TIM3_ARR100 = 50%,通道2、3、4的占空比分别是37.5%、25% 、12.5%。解:不考