《STM32习题.docx》由会员分享,可在线阅读,更多相关《STM32习题.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、4.6 习题一、填空题2. ST 公司的 STM32 系列芯片采用了 Cortex-M3 内核,其分为两个系列。 STM32F101系列为标准型,运行频率为36MHz;STM32F103系列为标准型,运行频率为 72MHz。3. STM32 全系列芯片都具有引脚到引脚一一对应的特点,并且相同封装的内部资源均相同,这就给用户升级带来很大方便。4. STM32 提供了一种最简单的程序下载方法,即在应用编程,只需要串口连接到 PC机上,便可以进行程序下载。二、选择题1下列哪个不是 RealView MDK 开发环境的特点( D )。AWindows 风格B 兼 容 的 Keil Vision 界 面
2、 C全面的 ARM 处理器支持 D体积庞大4下列哪种方法可以对 STM32 进行程序下载( ABCD)。(多选)AKeil ULink BJ-Link C在应用编程 D以上都可以三、简答题1. 简述 ARM RealView 开发环境的特点。答:ARM RealView MDK 开发平台具有如下主要特点:q 采用 Keil Vision3 的开发环境和界面,给单片机用户的升级带来极大的方便。q 具有 Windows 风格的可视化操作界面,界面友好,使用极为方便; q 支持汇编语言、C51 语言以及混合编程等多种方式的单片机设计;q 集成了非常全面的 ARM 处理器支持,能够完成 ARM7、AR
3、M9 以及 ARM Cortex-M3 等处理器的程序设计和仿真;q 集成了丰富的库函数,以及完善的编译连接工具;q 提供了并口、串口、A/D、D/A、定时器/计数器以及中断等资源的硬件仿真能力,能够帮助用户模拟实际硬件的执行效果;q 可以与多款外部仿真器联合使用,提供了强大的在线仿真调试能力;q 内嵌 RTX-51 Tiny 和 RTX-51 FULL 内核,提供了简单而强大的实时多任务操作系统支持;q 在一个开发界面中支持多个项目的程序设计;q 支持多级代码优化,最大限度地帮助用户精简代码体积;q 由于 Keil Vision 具有最为广泛的用户群,因此相应的代码资源非常丰富,读者可以轻松
4、地找到各类编程资源以加速学习和开发过程。2. 简述基于 ARM Cortex-M3 的 STM32 芯片特点。答:ST 公司的 STM32 系列芯片采用了 ARM Cortex-M3 内核,其分为两个系列。STM32F101 系列为标准型,运行频率为 36MHz;STM32F103 系列为标准型,运行频率为 72MHz。STM32 全系列芯片都具有引脚到引脚一一对应的特点,并且相同封装的内部资源均相同,这就给用户升级带来很大方便。3. 简述 STM32 最小硬件开发系统的组成及其各部分的作用。答:读者可以参阅正文中的第 3 节,其中包括如下几个部分:q 主芯片:采用 STM32 系列,为整个开
5、发系统的核心,本书所有的程序都运行在其中。q 晶体振荡部分:提供了硬件时序以及实时时钟使用。q 供电部分:采用 AM1117 为芯片提供稳定的 3.3V 电压。q 复位部分:采用一个按键开关来实现。9.5 习题一、填空题1. 当 STM32 的 I/O 端口配置为输入时, 输出缓冲器 被禁止, 施密特触发输入 被激活。根据输入配置(上拉,下拉或浮动)的不同,该引脚的 弱上拉和下拉电阻 被连接。出现在 I/O 脚上的数据在每个 APB2 时钟被采样到输入数据寄存器,对 输入数据寄存器 的读访问可得到 I/O 状态。2. STM32 的所有端口都有外部中断能力。当使用 外部中断线 时,相应的引脚必
6、须配置成 输入模式 。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)。A18MHz B50M
7、Hz C36MHz D72MHz4当输出模式位 MODE1:0=“10时”,最大输出速度为( B)。A10MHz B2MHz C50MHz D72MHz三、简答题1. 简述不同复用功能的重映射。答:为了优化不同引脚封装的外设数目,可以把一些复用功能重新映射到其他引脚上。这时, 复用功能不再映射到它们原始分配的引脚上。在程序上,是通过设置复用重映射和调试 I/O 配置寄存器(AFIO_MAPR)来实现引脚的重新映射。各个复用功能的重映射可以参阅正文的介绍,由于内容比较多,正文介绍非常详细,这里省略。2. 简述 STM32 的 GPIO 的一些主要特点(至少 5 个)。答:主要特点如下:q 通用
8、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 | GP
9、IO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &GPIO_InitStructure);10.6 习题一、填空题1. 在 STM32 中,闪存存储器有 主存储块 和 信息块 组成。2. STM32 的 Flash 闪存的指令和数据访问是通过 AHB总线完成的。预取模块是用于通过 ICode 总线读取指令的。仲裁是作用在闪存接口,并且 DCode 总线上的数据访问优先。3. STM32 的 Fl
10、ash 闪存编程一次可以写入 16 位。STM32 的 Flash 闪存擦除操作可以按 页面 擦除或 完全 擦除, 完全擦除 不影响信息块。写操作(编程或擦除) 结束时可以触发中断。仅当闪存控制器接口时钟开启时,此中断可以用来从 WFI 模式退出。4. ST 公司还提供了完善的 Flash 闪存接口库函数,其位于stm32f10x_flash.c,对应的头文件为stm32f10x_flash.h。5. 选项字节寄存器结构中,RDP 为 读出选项字节 ,USER 为 用户选项字节 , Data0 为 数据 0 选项字节,Data1 为 数据 1 选项字节,WRP0 为 写保护 0 的选项字节,W
11、RP1 为 写保护 1 的选项字节,WRP2 为 写保护 2的选项字节,WRP3 为 写保护 3 的选项字节。二、选择题1. STM32 的 Flash 闪存编程一次可以写入( A)位。A16 B8C32 D42. STM32 主存储块的页大小为( A ) 字节。A1K B3K C2K D4K3. 用户选择字节的大小为( A )。A512 字节 B2K C1K D128K4. 下列哪些不是 STM32 闪存存储器的特点( C )。A大容量 B高速C掉电不保存 D具有选择字节加载器11.6 习题一、填空题1. STM32 芯片内部集成的 12 位 ADC 是一种逐次逼近 型模拟数字转 换器,具有
12、 18 个通道,可测量 16 个外部和 2 个内部信号源。2. 在 STM32 中,只有在 规则通道 的转换结束时才产生 DMA 请求,并将转换的数据从 ADC_DR寄存器传输到用户指定的目的地址。3. 在有两个 ADC 的 STM32 器件中,可以使用 双 ADC 模式。在 双 ADC 模式里,根据 ADC_CR1 寄存器中 DUALMOD2:0位所选的模式,转换的启动可以是 ADC1 主和 ADC2 从的交替触发或同时触发。4. ADC 的校准模式通过设置ADC_CR2寄存器的CAL位来启动。5. 在 STM32 中,ADC_CR2寄存器的ALIGN位选择转换后数据储存的对齐方式。6. 在
13、 STM32 内部还提供了 温度传感器 ,可以用来测量器件周围的温度。温度传感器在内部和 ADC_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。内部参考电压 VREFINT 和 ADC_IN17 相连接。二、选择题1. 哪些是 STM32 的 ADC 系统的特点(多选)( ABCD )。 A12-位分辨率 B自校准C可编程数据对齐 D单次和连续转换模式2. 在 ADC 的扫描模式中,如果设置了 DMA 位,在每次EOC 后,DMA 控制器把规则组通道的转换数据传输到( A)中。ASRAM BFlashCADC_JDRx 寄存器 DADC_CR13. STM32 规则组由多达(
14、 A )个转换组成。A16 B18C4 D204. 在 STM32 中,( A)寄存器的 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.
15、 简述 STM32 的双 ADC 工作模式。答:在有两个 ADC 的 STM32 器件中,可以使用双 ADC 模式。在双 ADC 模式里,根据 ADC_CR1 寄存器中 DUALMOD2:0位所选的模式,转换的启动可以是 ADC1 主和 ADC2 从的交替触发或同时触发。双 ADC 工作模式主要包括如下几种:同时注入模式、同时规则模式、快速交替模式、慢速交替模式、交替触发模式和独立模式。12.7 习题一、填空题1. STM32 的 嵌套向量中断控制器(NVIC) 管理着包括 Cortex-M3 核异常等中断,其和 ARM 处理器核的接口紧密相连,可以实现 低延迟 的中断处理,并有效地处理晚到
16、中断。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。AI/O 端口 BRTC 闹钟CUSB 唤醒事件 D
17、PLL2. STM32 嵌套向量中断控制器(NVIC) 具有( A ) 个可编程的优先等级。A16 B43C72 D363. STM32 的外部中断/事件控制器(EXTI)支持( C)个中断/事件请求。A16 B43C19 D36三、简答题1简述嵌套向量中断控制器(NVIC)的主要特性。答:STM32 的嵌套向量中断控制器(NVIC) 管理着包括 Cortex-M3 核异常等中断,其和 ARM 处理器核的接口紧密相连,可以实现低延迟的中断处理,并有效地处理晚到的中断。STM32 嵌套向量中断控制器(NVIC)的主要特性如下:q 具有 43 个可屏蔽中断通道(不包含 16 个 Cortex-M3
18、 的中断线)。q 具有 16 个可编程的优先等级。q 可实现低延迟的异常和中断处理。q 具有电源管理控制。q 系统控制寄存器的实现。四、编程题 13.7 习题一、填空题1. STM32 的 USART 为通用同步异步收发器,其可以与使用工业标准 NRZ异步串行数据格式的外部设备之间进行全双工数据交换。2. STM32 的 USART 可以利用分数波特率发生器提供宽范围的波特率选择。3. 智能卡是 一个单线半双工通信协 议, STM32 的智能卡 功能可 以通过设置USART_CR3 寄存器的SCEN位来选择。4. STM32 提供了 CAN 总线结构,这是一种基本扩展CAN(Basic Ext
19、ended CAN),也就是bxCAN。二、选择题1. STM32 的 USART 根据( A )寄存器M 位的状态,来选择发送 8 位或者 9 位的数据字。AUSART_CR1 BUSART_CR2 CUSART_BRR D USART_CR32. STM32 的 bxCAN 的主要工作模式为( ABD)。A. 初始化模式 B正常模式C环回模式 D睡眠模式3. 在程序中,可以将 CAN_BTR 寄存器的( AB )位同时置 1,来进入环回静默模式。(多选)ALBKM BSILMCBTR D以上都不是三、简答题1简述 STM32 的 USART 的功能特点。、答:STM32 的 USART 为
20、通用同步异步收发器,其可以与使用工业标准 NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。USART 还可以利用分数波特率发生器提供宽范围的波特率选择。STM32 的 USART 支持同步单向通信和半双工单线通信。同时,其也支持 LIN(局部互连网), 智能卡协议和 IrDA(红外数据)SIR ENDEC 规范,以及调制解调器(CTS/RTS)操作。STM32 还具备多处理器通信能力。另外,通过多缓冲器配置的 DMA 方式,还可以实现高速数据通信。15.6 习题一、填空题1. 系统计时器(SysTick)提供了 1 个24 位、降序、零约束、写清除 的计数器,具有灵活的控制机制。2.
21、 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可以通过事件产生中断,中断类型丰富,具备 D
22、MA 功能。2通用定时器 TIMx 的特殊工作模式包括( ABCD )。(多选) A输入捕获模式 BPWM 输入模式C输出模式 D单脉冲模式(OPM)3STM32 的可编程通用定时器的时基单元包含( ABC)。(多选)A计数器寄存器(TIMx_CNT) B预分频器寄存器(TIMx_PSC) C自动装载寄存器(TIMx_ARR)D以上都不是三、简答题1. 简述 STM32TIM 的计数器模式。答:STM32 通用定时器 TIM 的 16 位计数器可以采用三种方式工作,分别为向上计数模式、向下计数模式和中央对齐模式(向上/向下计数)。四、编程题给出 PWM 模式下配置 TIM 外设的程序代码。答:
23、/* 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_TimeBaseSt
24、ructure);/* 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.T
25、IM_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;T
26、IM_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_CtrlPWMOutput
27、s(TIM1, ENABLE);16.5 习题一、填空题1. 除了通用定时器外, STM32 还提供了一个高级控制定时器TIM1。TIM1由一个 16位的自动装载计数器组成,它由一个可编程预分频器驱动。2. TIM1 的溢出/下溢时更新事件(UEV)只能在重复向下计数达到 0 的时候产生。这对于能产生 PWM 信号非常有用。3. TIM1 具备16位可编程预分频器,时钟频率的分频系数为165535之间的任意数值。4. ST 公司还提供了完善的 TIM1 接口库函数,其位于stm32f10x_tim1.c,对应的头文件为stm32f10x_tim1.h。二、选择题1. STM32 的可编程 TI
28、M1 定时器的时基单元包含( 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输入捕获模式 BPWM 输入模式C. 编码器接口
29、模式 D单脉冲模式(OPM)三、简答题1. 简述 STM32 的高级控制定时器 TIM1 的结构。答:STM32 提供了一个高级控制定时器(TIM1)。TIM1 由一个 16 位的自动装载计数器组成, 它由一个可编程预分频器驱动。TIM1 适合多种用途,包含测量输入信号的脉冲宽度,或者产生输出波形。使用定时器预分频器和 RCC 时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。高级控制定时器 TIM1 和通用控制定时器 TIMx 是完全独立的,它们不共享任何资源,因此可以同步操作。17.7 习题一、填空题1. STM32 系列 ARM Cortex-M3 芯片支持三种复位
30、形式,分别为系统复位、电源复位和备份区域复位。2. STM32 还提供了用户可 通过多个预 分频器,可 用来进一步 配置AHB、高速APB(APB2)和低速APB(APB1)域的频率。3. 用户可用通过32.768kHz 外部振荡器,为系统提供更为精确的主时钟。在时钟控制寄存器RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定。4. ST 公司还提供了完善的 RCC 接口库函数,其位于stm32f10x_rcc.c,对应的头文件为stm32f10x_rcc.h。5. ST 公司还提供了完善的 RTC 接口库函数,其位于 stm32f10x_rtc.c,对应的头文件为 stm32f10
31、x_rtc.h。6. 当 STM32 复位后, HSI 振荡器 将被选为系统时钟。当时钟源被直接或通过 PLL 间接作为系统时钟时,它将不能被 停止 。只有当 目标时钟源 准备就绪了(经过启动稳定阶段的延迟或 PLL 稳定),才可以从一个时钟源切换到另一个时钟源。在被选择时钟源没有就绪时,系统时钟的切换 不会发生 。二、选择题1. STM32 提供了三种不同的时钟源,其都可被用来驱动系统时钟 SYSCLK,这三种时钟源分别为( ABC)。AHSI 振荡器时钟 BHSE 振荡器时钟CPLL 时钟 DHLI 振荡时钟2. 在 STM32 中,当( AB )发生时,将产生电源复位。(多选) A从待机
32、模式中返回 B上电/掉电复位(POR/PDR 复位) CNRST 管 脚 上 的 低 电 平 DPLL 3,以下哪个时钟信号可被选作 MCO 时钟( ABCD)。(多选) ASYSCLK BHSICHSE D以 2 分频的 PLL 时钟三、简答题1. 简述 STM32 复位的类型。答:STM32 系列 ARM Cortex-M3 芯片支持三种复位形式,分别为系统复位、电源复位和备份区域复位。2. 简述 STM32 时钟的类型。答:STM32 提供了三种不同的时钟源,其都可被用来驱动系统时钟 SYSCLK,这三种时钟源分别为:q HSI 振荡器时钟q HSE 振荡器时钟q PLL 时钟这三种时钟
33、源还可以有以下 2 种二级时钟源:q 32kHz 低速内部 RC,可以用于驱动独立看门狗和RTC。其中,RTC 用于从停机/待机模式下自动唤醒系统。q 32.768kHz 低速外部晶振也可用来驱动 RTC(RTCCLK)。任一个时钟源都可被独立地启动或关闭,这样可以通过关闭不使用的时钟源来优化整个系统的功耗。3. 简述 STM32 实时时钟 RTC 的配置步骤。答:在程序中,配置 RTC 寄存器步骤如下:(1) 查询 RTC_CR 寄存器中的 RTOFF 位,直到 RTOFF 的值变为“1”,表示前一次写操作结束。(2) 置 CNF 值为 1,进入配置模式。(3) 对一个或多个 RTC 寄存器
34、进行写操作。(4) 清除 CNF 标志位,退出配置模式。(5) 查询 RTOFF,直至 RTOFF 位变为“1” 以确认写操作已经完成。19.5 习题一、填空题1. 在 STM32 中,备份寄存器是16位的寄存器,共10个,可以用来存储20个字节的用户应用程序数据。2. 备份寄存器位于备份域里,当主电源 VDD被切断,他们仍然由VBAT维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们 也不会 被复位。3. STM32 的备份寄存器还可以用来实现 RTC校准功能。为方便测量,32.768kHz 的RTC 时钟可以输出到 侵入检测 引脚上。通过设置 RTC 校验寄存器 (BKP_R
35、TCCR) 的 CCO位来开启这一功能。4. 当 STM32 的 ANTI_TAMP 引脚上的信号发生跳变时,会产生一个侵入检测事件,这将使所有数据备份寄存器 复位 。5ST 公司还提供了完善的备份寄存器接口库函数,其位于头文件为stm32f10x_bkp.h。二、选择题stm32f10x_bkp.c,对应的1在 STM32 中,备份寄存器是( A )的寄存器。A16 位 B32 位C8 位 D4 位2为了允许访问备份寄存器和 RTC,电源控制寄存器(PWR_CR)的 DBP 位必须置为( A)。A1 B2C0 D3 3下列哪个不是备份寄存器( C)。ABKP_DR1 BBKP_DR3 CBK
36、P_RTCCR DBKP_DR520.5 习题一、填空题1. STM32 的 DMA 控制器有 7 个通道,每个通道专门用来管理来自于一个或多个外 设对存储器访问的请求。还有一个 仲裁器 来协调各个 DMA 请求的优先权。2. 在 DMA 处理时,一个事件发生后,外设发送一个请求信号到 DMA 控制器 。DMA 控制器根据通道的 优先权 处理请求。3. DMA 控制器的每个通道都可以在有固定地址的 外设寄存器和存储器地址 之间执行 DMA 传输。DMA 传输的数据量是可编程的,可以通过 DMA_CCRx寄存器中的 PSIZE 和 MSIZE 位 编 程 。4. ST 公司还提供了完善的 DMA
37、 接口库函数,其位于stm32f10x_dma.c,对应的头文件为stm32f10x_dma.h。5. 在 STM32 中,从外设(TIMx、ADC、SPIx、I2Cx 和 USARTx)产生的 7 个请求,通过逻辑与输入到 DMA 控制器,这样同时只能有一个请求有效。二、选择题1. DMA 控制器可编程的数据传输数目最大为( A )。A65536 B65535C1024 D40962. 每个 DMA 通道具有( A)个事件标志。A3 B4C5 D63. DMA 控制器中,独立的源和目标数据区的传输宽度为( ABCD)(多选)。A字节 B半字C全字 D以上都可以4. STM32 中,1 个 DMA 请求占用至少( B )个周期的 CPU 访问系统总线时间。%0.1 B2C3 D4三、简答题1简述 DMA 控制器的基本功能。答:STM32 的 DMA 控制器有 7 个通道,每个通道专门用来管理来自于一个或多个外设对存储器访问 的请求。 还有一 个仲裁 器来协调 各个 DMA 请求的优 先权。 DMA 控制器和Cortex-M3 核共享系统数据线执行直接存储器数据传输。因此,1 个 DMA 请求占用至少 2 个周期的 CPU 访问系统总线时间。为了保证 Cortex-M3 核的代码执行的最小带宽,DMA 控制器总是在 2 个连续的 DMA 请求间释放系统时钟至少 1 个周期。