基于stm32的嵌入式期末考试
基于stm32的嵌入式期末考试
好的!基于 STM32 的嵌入式系统期末考试,通常会考察核心概念、外设工作原理、编程实践以及调试能力。以下是一些高频考点和复习建议(用中文回答):
核心考点:
-
STM32 基础架构与开发环境:
- Cortex-M 内核特点(寄存器组、操作模式、异常/中断处理)。
- STM32 存储器映射(Flash, SRAM, 外设寄存器地址空间)。
- 时钟系统 (Clock Tree):HSE, HSI, PLL, LSE, LSI;时钟源选择;AHB, APB1, APB2 分频;
RCC寄存器配置。 - 电源管理:睡眠、停机、待机模式特点与唤醒源。
- 开发工具链:Keil MDK/IAR/STM32CubeIDE;编译、链接、下载、调试流程;STM32CubeMX 图形化配置工具的作用。
- 启动过程:启动文件 (
startup_*.s) 的作用;从复位向量跳转到main()的过程。
-
GPIO (通用输入输出):
- 工作模式:输入(浮空、上拉、下拉)、输出(推挽、开漏)、复用功能、模拟输入。
- 速度配置。
- 寄存器操作:
GPIOx_MODER,GPIOx_OTYPER,GPIOx_OSPEEDR,GPIOx_PUPDR,GPIOx_IDR,GPIOx_ODR,GPIOx_BSRR,GPIOx_LCKR,GPIOx_AFR[L/H]。 - HAL 库函数:
HAL_GPIO_Init(),HAL_GPIO_WritePin(),HAL_GPIO_ReadPin(),HAL_GPIO_TogglePin()。 - LED、按键、数码管等基本外设驱动。
-
中断系统 (NVIC):
- 中断与异常的概念。
- NVIC (嵌套向量中断控制器) 的作用:优先级分组(抢占优先级、子优先级)、优先级设置、使能/失能中断。
- 外部中断/事件控制器 (EXTI):触发方式(上升沿、下降沿、双边沿、电平)、映射到 GPIO 引脚、中断线。
- 中断服务函数 (ISR) 的编写规范:
void EXTIx_IRQHandler(void),清除中断挂起标志 (__HAL_GPIO_EXTI_CLEAR_IT()或操作寄存器)。 - 中断处理流程:响应、保存现场、执行 ISR、恢复现场、返回。
-
定时器 (TIM):
- 基本定时器 (
TIM6,TIM7):单纯计时、触发 DAC。 - 通用定时器 (
TIM2-TIM5,TIM9-TIM14):- 关键概念:计数器 (
CNT)、预分频器 (PSC)、自动重装载寄存器 (ARR)。 - 工作模式:向上计数、向下计数、中央对齐计数。
- 输出比较 (OC):PWM 信号生成(模式1/2),改变占空比 (
CCRx) 和频率 (ARR)。 - 输入捕获 (IC):测量脉冲宽度、频率(捕获边沿、捕获值
CCRx)。 - 编码器接口模式。
- 关键概念:计数器 (
- 高级定时器 (
TIM1,TIM8):额外功能如互补输出、死区控制等。 - 定时器中断:更新中断、捕获/比较中断。
- HAL 库函数:
HAL_TIM_Base_Start[_IT/_DMA](),HAL_TIM_PWM_Start(),HAL_TIM_IC_Start_IT(),HAL_TIM_OC_Start()等。
- 基本定时器 (
-
串行通信接口:
- UART/USART:
- 异步串行通信原理(波特率、起始位、数据位、停止位、奇偶校验)。
- 全双工/半双工概念。
- 寄存器:
USARTx_CR1/2/3,USARTx_BRR,USARTx_SR,USARTx_DR。 - HAL 库函数:
HAL_UART_Init(),HAL_UART_Transmit(),HAL_UART_Receive(),HAL_UART_Transmit_IT(),HAL_UART_Receive_IT(),HAL_UART_IRQHandler(),HAL_UART_TxCpltCallback(),HAL_UART_RxCpltCallback()。 - 中断/DMA 方式收发数据。
- SPI:
- 同步、全双工串行通信。
- 主/从模式;时钟极性 (
CPOL)、时钟相位 (CPHA)。 - 片选信号 (
NSS) 管理(硬件/软件)。 - HAL 库函数:
HAL_SPI_Init(),HAL_SPI_Transmit(),HAL_SPI_Receive(),HAL_SPI_TransmitReceive(), 中断/DMA 版本。
- I2C:
- 同步、半双工、多主多从串行通信。
- SDA (数据线), SCL (时钟线);开漏输出,需上拉电阻。
- 通信协议:起始条件、停止条件、地址帧(7位/10位)、读写位、应答位 (
ACK/NACK)。 - HAL 库函数:
HAL_I2C_Init(),HAL_I2C_Master_Transmit(),HAL_I2C_Master_Receive(),HAL_I2C_Mem_Write(),HAL_I2C_Mem_Read(),HAL_I2C_Slave_Transmit(),HAL_I2C_Slave_Receive(), 中断/DMA 版本。
- UART/USART:
-
ADC (模数转换器):
- 分辨率 (12-bit, 10-bit 等),参考电压 (
VREF+,VREF-,VDDA,VSSA)。 - 转换模式:单次、连续、扫描、间断。
- 触发源:软件触发、定时器触发、外部引脚触发。
- 通道:规则通道组、注入通道组;转换顺序 (
SQRx,JSQRx)。 - 采样时间配置。
- 数据对齐方式(左对齐、右对齐)。
- HAL 库函数:
HAL_ADC_Init(),HAL_ADC_ConfigChannel(),HAL_ADC_Start(),HAL_ADC_Stop(),HAL_ADC_PollForConversion(),HAL_ADC_GetValue(),HAL_ADC_Start_IT(),HAL_ADC_ConvCpltCallback(),HAL_ADC_Start_DMA()。 - 校准 (
HAL_ADCEx_Calibration_Start())。
- 分辨率 (12-bit, 10-bit 等),参考电压 (
-
DMA (直接存储器访问):
- 作用:不经过 CPU 实现外设与存储器、存储器与存储器之间的高速数据传输,释放 CPU 资源。
- DMA 通道、流(部分系列有流概念)。
- 传输方向 (
PeriphToMem,MemToPeriph,MemToMem)。 - 传输模式:单次传输、循环传输。
- 数据宽度 (Byte, HalfWord, Word)。
- 地址递增模式(源地址、目标地址是否递增)。
- 优先级、中断(传输完成、半传输完成、传输错误)。
- HAL 库函数:
HAL_DMA_Init(),HAL_DMA_Start(),HAL_DMA_Start_IT(),HAL_DMA_IRQHandler(),HAL_DMA_XXXCallback()。
-
看门狗 (WWDG/IWDG):
- 作用:防止程序跑飞、死循环导致的系统死锁。
- 独立看门狗 (IWDG):基于独立的 LSI 时钟,即使主时钟失效也能工作。需要定期“喂狗”(写重装载值)。
- 窗口看门狗 (WWDG):基于 APB1 时钟。必须在设定的“窗口”时间内喂狗,太早太晚都会复位。
-
实时操作系统基础 (RTOS - 如果课程涉及):
- 任务 (Task/Thread) 的概念、状态(就绪、运行、阻塞、挂起)。
- 调度器 (Scheduler) 的作用:基于优先级抢占或时间片轮转。
- 任务间通信机制:信号量 (Semaphore)、互斥量 (Mutex)、消息队列 (Queue)、事件标志 (Event Flags)。
- 临界区 (Critical Section) 保护:关中断、调度器锁、互斥量。
- 优先级反转问题及解决方案(优先级继承、优先级天花板)。
- FreeRTOS / RT-Thread 等的基本 API 使用。
复习建议:
- 回归教材和课件: 系统梳理老师强调的核心知识点、流程图、时序图(尤其 UART, SPI, I2C, PWM, IC)。
- 理解原理: 不要死记硬背寄存器!理解每个外设的工作原理、信号流程和控制逻辑是关键。搞清楚“为什么要这样配置”。
- 掌握 HAL 库常用函数: 熟悉核心外设(GPIO, TIM, USART, SPI, I2C, ADC, DMA)的 HAL 初始化结构和关键函数。理解函数参数的意义。
- 分析例程代码: 仔细研究实验课或资料提供的标准例程 (
STM32Cube_FW_xxx)。理解代码结构、初始化流程、中断处理逻辑。 - 动手实践: 如果条件允许,在开发板上复现关键实验(LED 闪烁、按键中断、UART 收发、PWM 输出、ADC 采样)。调试是最好的老师。
- 数据手册和参考手册: 学会查阅
STM32xxx Reference Manual(RMxxxx),特别是寄存器描述和框图。考试可能允许带手册或在手册基础上出题。 - 重视中断和 DMA: 这是嵌入式系统的灵魂,也是考试的重点和难点。理解中断嵌套、优先级、进出中断的流程。理解 DMA 如何减轻 CPU 负担。
- 理解时钟树: 画一画简化的时钟树图,理解主要时钟源流向各总线和外设的路径。这是系统稳定运行的基础。
- 准备应用题: 考试很可能要求阅读一段代码(初始化配置、中断服务函数)说明其功能,或者根据需求设计伪代码或配置思路(如:“用 TIM3 配置一个 1kHz,50% 占空比的 PWM 输出到 PB5”)。
- 调试与排错: 了解基本的调试手段:LED 指示、串口打印调试信息 (
printf重定向)、逻辑分析仪看波形、调试器断点、寄存器查看。
经典题型示例:
- 选择题/填空题: 考察基本概念(如:STM32 的复位向量地址是?AHB 时钟频率是 APB2 的几倍?SPI 的 CPOL=1, CPHA=1 对应哪种模式?USART 波特率计算公式?)
- 判断题: (如:“EXTI 中断只能映射到端口号的引脚。” - 错,需要对应到具体中断线;“HAL_Delay() 内部使用了 SysTick 定时器。” - 对)
- 简答题:
- 简述 STM32 中断处理流程(从发生到返回)。
- 简述 I2C 总线的起始条件、停止条件和数据传输格式(带 ACK/NACK)。
- 请描述 PWM 模式1 和 模式2 的区别。
- DMA 传输的主要优点是什么?列举至少两个使用 DMA 的场景。
- 简述独立看门狗 (IWDG) 的工作原理和使用方法。
- 代码分析题: 给出一段 GPIO、USART、TIM 初始化代码或中断服务函数代码,问其功能、配置参数含义、或有潜在什么问题。
- 应用题/设计题:
- 要求设计初始化代码(伪代码或描述配置步骤)实现特定功能(如:配置 PA0 为外部中断下降沿触发;配置 TIM2 通道1 (PA0) 输出 50Hz 舵机控制信号;配置 ADC1 通道10 (PC0) 进行单次转换)。
- 分析如何利用定时器和输入捕获测量一个脉冲的高电平宽度。
- 设计一个方案,使用 DMA 将 ADC 连续采样得到的数据搬运到内存数组,并在完成一定数量采样后通过串口发送出去(描述主要流程和使用的关键外设/模块)。
- (如果考 RTOS) 如何使用信号量实现两个任务间的同步?
考试提示:
- 看清题目要求!特别是选择题是单选还是多选,应用题要求写伪代码还是描述思路。
- 时间管理:选择题、判断题、填空题尽快完成,留足够时间给大题和应用题。
- 卷面清晰:代码和配置描述尽可能规范、清晰。
- 利用好手册:如果允许带手册,知道关键知识点在手册的哪个章节(如寄存器描述)可以大大提高效率。
祝你期末考试顺利! 沉着冷静,发挥出你学到的知识!
stm32f103单片机与嵌入式系统的区别在哪
录[笔记]|[stm32]|[寄存器存储器区别]|[PWM]|[串口]|[Timer]stm32f103笔记单片机与嵌入式系统CPU、MCU、M
211高校C语言期末考试卷
该文件包含了某211高校2014~2019年C语言期末考试卷,本人是C语言的小白,主要是靠这几套试卷最后期末90+,强烈推荐,资料整理不易,需要自取哈
资料下载
LYJ999
2022-12-01 09:47:21
计算机组成期末复习 精选资料分享
计算机组成原理期末考试复习题,很给力的!!!一、选择题(c)1、在下列四句话中,最能准确反映计算机主要功能的是下面哪项。A.计算机可以存储大量信息B.计算机能代替人的脑力劳动C.计算机是一种信息处理
计算机组成原理期末考试题库
计算机组成原理期末考试题库及答案一、选择题1、完整的计算机系统应包括______。DA. 运算器、存储器和控制器B. 外部设备和主机C. 主机和实用程序 D. 配套的硬件设备和软件系统2、计算机系
单片机的c语言应用程序设计
单片机C语言期末考试题..,单片机的c语言应用程序设计,单片机c语言编程,51单片机c语言程序100例,单片机c语言,单片机c语言编程思想,c语言开发单片机,c语言单片机程序,新概念51单片机c语言
电子电路期末考试复习预测题二相关资料推荐
电子电路期末考试复习预测题二(2)复习题二试题库(4)交流电路一、填空题1、与正弦量具有一一对应关系的复数电压、复数电流称之为 相量 。最大值 相量 的模对应于正弦量的 最大 值,有效值 相量 的模
如何帮助孩子备战期末考?讯飞智能学习机扫清学习难题
时间过得真快,感觉刚刚告别期中考,孩子们就要迎来上半学期的期末考试了。上学期的期末考和下学期的期末考有点不一样,因为考完试就是春节,难免会走亲访
2020-12-30 15:38:24
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览