以下是15道蓝桥杯嵌入式省赛客观题预测,每道题均包含**选项列表**、**答案**和**解析**,格式清晰便于快速查阅:
一、预测1
### **一、STM32G4硬件基础与外设配置**
1. **STM32G431RBT6的Flash和RAM容量分别为?**
**选项**:
A. 128KB, 32KB
B. 256KB, 64KB
C. 512KB, 128KB
D. 1MB, 256KB
**答案:B**
**解析**:G4系列命名规则中`R`代表256KB Flash,`B`代表64KB RAM。
2. **STM32G4的系统时钟(SYSCLK)最高可配置为?**
**选项**:
A. 72MHz
B. 100MHz
C. 170MHz
D. 200MHz
**答案:C**
**解析**:Cortex-M4内核通过倍频支持170MHz主频。
3. **STM32G4的ADC模块支持以下哪种模式?**
**选项**:
A. 单通道单次采样
B. 多通道扫描模式
C. 连续转换模式
D. 以上全对
**答案:D**
**解析**:ADC支持多种采样模式,G4系列新增差分输入和PGA功能。
4. **STM32G4的DMA控制器最多支持多少个通道?**
**选项**:
A. 7
B. 12
C. 16
D. 20
**答案:B**
**解析**:集成2个DMA控制器(DMA1和DMA2),共12通道。
### **二、低功耗设计与电源管理**
5. **哪种低功耗模式下STM32G4的内核电源完全关闭?**
**选项**:
A. 睡眠模式
B. 停止模式
C. 待机模式
D. 深度睡眠模式
**答案:C**
**解析**:待机模式下1.8V内核电源关闭,功耗最低。
6. **关闭未使用模块的时钟可降低哪种功耗?**
**选项**:
A. 动态功耗
B. 静态功耗
C. 漏电流
D. 以上全对
**答案:A**
**解析**:动态功耗与时钟频率相关,关闭时钟可减少开关晶体管活动。
### **三、RTOS基础与任务调度**
7. **RTOS中任务不可能处于以下哪种状态?**
**选项**:
A. 就绪态
B. 运行态
C. 阻塞态
D. 死锁态
**答案:D**
**解析**:死锁是异常状态,非任务正常状态(就绪、运行、阻塞、挂起)。
8. **以下哪种调度算法属于抢占式?**
**选项**:
A. 时间片轮转
B. 优先级翻转
C. 最早截止时间优先(EDF)
D. 非抢占式优先级
**答案:C**
**解析**:EDF根据任务截止时间动态调整优先级,允许抢占当前任务。
### **四、电路设计与外设应用**
9. **哪种情况会导致电路短路?**
**选项**:
A. 电解电容极性接反
B. 电阻阻值过大
C. 晶振未连接
D. 电源电压不足
**答案:A**
**解析**:电解电容极性接反会击穿介质形成低阻通路。
10. **以下哪种通信协议支持多主设备?**
**选项**:
A. USART
B. SPI
C. I2C
D. CAN
**答案:C**
**解析**:I2C通过仲裁机制允许多主设备通信。
### **五、新兴技术与综合应用**
11. **读取DHT11温湿度传感器通常使用哪种接口?**
**选项**:
A. UART
B. 单总线
C. SPI
D. I2C
**答案:B**
**解析**:DHT11采用单总线协议(1-Wire),通过GPIO模拟时序。
12. **以下哪项属于边缘计算的典型应用?**
**选项**:
A. 云端数据存储
B. 实时工业控制
C. 大数据分析
D. 视频流媒体
**答案:B**
**解析**:边缘计算强调本地实时处理,减少云端延迟。
### **六、编程与开发工具**
13. **蓝桥杯嵌入式比赛推荐使用的开发环境是?**
**选项**:
A. Keil MDK-ARM
B. IAR Embedded Workbench
C. STM32CubeIDE
D. 以上均可
**答案:A**
**解析**:官方指定开发工具为Keil MDK-ARM。
14. **以下哪种工具用于硬件仿真调试?**
**选项**:
A. J-Link
B. ST-Link
C. Co-Link
D. 以上全对
**答案:D**
**解析**:均支持SWD/JTAG调试,ST-Link集成于G4开发板。
### **七、综合应用题**
15. **设计实时工业控制系统应选择哪种内核?**
**选项**:
A. 硬实时内核(如VxWorks)
B. 软实时内核(如嵌入式Linux)
C. 无操作系统
D. 以上均可
**答案:A**
**解析**:硬实时内核确保任务严格按时完成,适合工业控制。
二、预测2
以下是15道全新的蓝桥杯嵌入式省赛客观题预测,覆盖硬件配置、外设应用、RTOS、低功耗等核心方向,每道题包含**选项列表**、**答案**和**解析**:
### **一、STM32G4硬件配置与寄存器**
1. **STM32G4的通用定时器(TIMx)支持哪种计数模式?**
**选项**:
A. 向上计数
B. 向下计数
C. 中心对齐计数
D. 以上全对
**答案:D**
**解析**:TIMx支持向上/向下/中心对齐模式,可通过CR1寄存器配置。
2. **以下哪个寄存器用于配置GPIO引脚的输出类型?**
**选项**:
A. MODER
B. OTYPER
C. OSPEEDR
D. PUPDR
**答案:B**
**解析**:OTYPER寄存器控制推挽/开漏输出模式(0:推挽,1:开漏)。
### **二、外设应用与协议**
3. **使用SPI协议时,主设备通过哪个信号线控制从设备使能?**
**选项**:
A. SCK
B. MOSI
C. MISO
D. NSS
**答案:D**
**解析**:NSS(片选)信号由主设备控制,低电平选中从设备。
4. **UART通信中,奇偶校验位由哪个寄存器配置?**
**选项**:
A. USART_CR1
B. USART_CR2
C. USART_CR3
D. USART_BRR
**答案:A**
**解析**:USART_CR1的PCE位使能奇偶校验,PS位选择奇校验或偶校验。
### **三、RTOS与任务管理**
5. **以下哪个函数用于创建FreeRTOS任务?**
**选项**:
A. xTaskCreate()
B. vTaskDelete()
C. vTaskDelay()
D. xQueueSend()
**答案:A**
**解析**:xTaskCreate()函数原型为`BaseType_t xTaskCreate(TaskFunction_t pxTaskCode, const char * const pcName, const uint16_t usStackDepth, void * const pvParameters, UBaseType_t uxPriority, TaskHandle_t * const pxCreatedTask)`。
6. **任务调度时,以下哪种情况会触发上下文切换?**
**选项**:
A. 任务主动调用vTaskDelay()
B. 更高优先级任务就绪
C. 任务执行完毕
D. 以上全对
**答案:D**
**解析**:任务阻塞、更高优先级任务抢占或任务自删除均会触发上下文切换。
### **四、低功耗与电源管理**
7. **STM32G4进入待机模式的正确操作顺序是?**
**选项**:
A. 使能PWR唤醒引脚 → 配置WFI
B. 配置WFI → 使能PWR唤醒引脚
C. 使能PWR唤醒引脚 → 配置WFE
D. 配置WFE → 使能PWR唤醒引脚
**答案:A**
**解析**:需先通过PWR_CR使能唤醒引脚(如WKUP),再通过WFI指令进入待机模式。
8. **以下哪种方式可降低STM32G4的静态功耗?**
**选项**:
A. 关闭未使用的外设时钟
B. 使用低功耗模式
C. 降低系统时钟频率
D. 优化代码执行效率
**答案:B**
**解析**:静态功耗由漏电流决定,需通过低功耗模式(如待机模式)降低。
### **五、模数转换与传感器**
9. **STM32G4的ADC转换结果存储在哪个寄存器?**
**选项**:
A. ADC_DR
B. ADC_SR
C. ADC_CR1
D. ADC_CR2
**答案:A**
**解析**:ADC_DR为数据寄存器,存储转换后的12位结果(右对齐或左对齐)。
10. **读取光敏电阻的模拟值需使用以下哪种外设?**
**选项**:
A. ADC
B. DAC
C. TIM
D. DMA
**答案:A**
**解析**:光敏电阻输出模拟电压,需通过ADC转换为数字量。
### **六、电路设计与调试**
11. **以下哪种操作会导致STM32G4进入复位状态?**
**选项**:
A. 电源电压降至1.8V以下
B. 使能独立看门狗(IWDG)
C. 触发软件复位命令
D. 以上全对
**答案:C**
**解析**:软件复位通过设置RCC_APB2RSTR的SW_RESET位实现,电压过低或看门狗超时会导致硬件复位。
12. **使用示波器测量STM32G4的PWM波形时,应连接到哪个引脚?**
**选项**:
A. PA0
B. PB6
C. PC13
D. PA8
**答案:D**
**解析**:PA8为TIM1_CH1的默认PWM输出引脚,需在GPIO复用功能中配置。
### **七、开发工具与代码优化**
13. **Keil MDK中,以下哪个选项用于设置代码生成的优化等级?**
**选项**:
A. Target → Use MicroLIB
B. C/C++ → Optimization
C. Debug → Use Simulator
D. Output → Create HEX File
**答案:B**
**解析**:在C/C++选项卡的Optimization下拉菜单中选择优化等级(如-O0无优化,-O3最高优化)。
14. **以下哪种方法可减小STM32G4的代码体积?**
**选项**:
A. 使用动态内存分配
B. 移除未使用的库函数
C. 增加全局变量
D. 使用浮点运算
**答案:B**
**解析**:通过编译器选项(如`--strip-debug`)或手动删除冗余代码可减小二进制文件体积。
### **八、综合应用题**
15. **设计一个电池供电的便携式设备,应优先考虑以下哪种设计?**
**选项**:
A. 高性能CPU
B. 低功耗模式
C. 复杂外设功能
D. 高速数据传输
**答案:B**
**解析**:电池供电设备需优先优化功耗,通过低功耗模式延长续航时间。
三、预测3
### **一、STM32G4寄存器与外设配置**
1. **以下哪个寄存器用于配置ADC的转换通道顺序?**
**选项**:
A. ADC_SQR1
B. ADC_CR1
C. ADC_DR
D. ADC_SMPR1
**答案:A**
**解析**:ADC_SQR1寄存器设置转换序列长度和通道顺序(SQ13~SQ1位)。
2. **TIMx的捕获/比较寄存器(CCR)用于?**
**选项**:
A. 设置计数器周期
B. 配置PWM占空比
C. 存储捕获值
D. B和C
**答案:D**
**解析**:CCR在PWM模式下设置占空比,在输入捕获模式下存储捕获值。
### **二、通信协议与接口**
3. **I2C通信中,从设备地址由哪部分组成?**
**选项**:
A. 7位固定地址 + 1位读写位
B. 8位固定地址
C. 10位动态地址
D. 6位厂商代码 + 2位设备类型
**答案:A**
**解析**:I2C标准模式使用7位地址,高7位为设备地址,第8位为读写位。
4. **USART的同步模式需要连接哪根信号线?**
**选项**:
A. RTS
B. CTS
C. SCLK
D. DTR
**答案:C**
**解析**:同步模式下需连接SCLK(时钟信号线),异步模式仅需TX/RX。
### **三、RTOS与任务调试**
5. **FreeRTOS中,以下哪个函数用于获取当前任务优先级?**
**选项**:
A. uxTaskPriorityGet()
B. vTaskPrioritySet()
C. xTaskGetCurrentTaskHandle()
D. eTaskGetState()
**答案:A**
**解析**:uxTaskPriorityGet(NULL)返回当前任务优先级,参数为任务句柄。
6. **任务间通信时,以下哪种方式可实现数据缓冲?**
**选项**:
A. 信号量
B. 互斥锁
C. 队列
D. 事件标志组
**答案:C**
**解析**:队列可存储多个数据项,支持先进先出(FIFO)或后进先出(LIFO)。
### **四、低功耗与电源管理**
7. **STM32G4的低功耗定时器(LPTIM)支持哪种时钟源?**
**选项**:
A. LSE(32.768kHz)
B. HSI(16MHz)
C. HSE(8MHz)
D. 以上全对
**答案:A**
**解析**:LPTIM专为低功耗设计,仅支持LSE或内部RC振荡器(LSI)。
8. **以下哪种操作可唤醒STM32G4的待机模式?**
**选项**:
A. 外部中断(EXTI)触发
B. 复位引脚(NRST)
C. 看门狗超时
D. 以上全对
**答案:D**
**解析**:待机模式可通过EXTI、NRST或IWDG/WWDG唤醒。
### **五、模数转换与传感器**
9. **ADC的校准步骤包括哪些?**
**选项**:
A. 执行自校准(ADC_CAL)
B. 测量参考电压(VREFINT)
C. 配置采样时间
D. A和B
**答案:D**
**解析**:ADC需通过自校准和VREFINT测量消除偏移误差。
10. **读取MPU6050传感器数据通常使用哪种协议?**
**选项**:
A. UART
B. SPI
C. I2C
D. CAN
**答案:C**
**解析**:MPU6050默认使用I2C接口,地址为0x68或0x69(AD0引脚控制)。
### **六、电路设计与调试**
11. **以下哪种情况会导致STM32G4的JTAG接口失效?**
**选项**:
A. 使能SWD模式
B. 配置GPIO为输出模式
C. 复位系统
D. 烧写程序
**答案:B**
**解析**:JTAG引脚(如PA13~PA15)被配置为GPIO输出时,调试接口失效。
12. **使用逻辑分析仪捕获SPI时序时,需监测哪些信号线?**
**选项**:
A. SCK、MOSI、MISO、NSS
B. TX、RX、GND
C. SDA、SCL、VCC
D. PWM、AIN、GND
**答案:A**
**解析**:SPI全双工通信需监测时钟(SCK)、主出从入(MOSI)、从出主入(MISO)和片选(NSS)。
### **七、开发工具与代码优化**
13. **Keil MDK中,以下哪个选项用于生成调试信息?**
**选项**:
A. Debug → Use Simulator
B. C/C++ → Debug Information
C. Output → Create HEX File
D. Listing → Assembler Listing
**答案:B**
**解析**:在C/C++选项卡勾选“Debug Information”可生成调试符号(DWARF格式)。
14. **以下哪种方法可减少STM32G4的代码执行时间?**
**选项**:
A. 使用内联函数(__inline)
B. 增加循环次数
C. 禁用中断
D. 使用浮点运算
**答案:A**
**解析**:内联函数减少函数调用开销,提升执行速度。
### **八、综合应用题**
15. **设计一个需要高精度ADC的医疗设备,应优先考虑?**
**选项**:
A. 降低采样频率
B. 增加外部参考电压
C. 使用DMA传输数据
D. 启用ADC扫描模式
**答案:B**
**解析**:外部高精度参考电压(如2.5V基准源)可提升ADC转换精度。
四、预测4
以下是15道全新的蓝桥杯嵌入式省赛客观题预测,覆盖寄存器配置、外设高级应用、RTOS调试、低功耗优化等核心考点,每道题包含**选项列表**、**答案**和**解析**:
### **一、STM32G4寄存器与外设配置**
1. **TIMx的刹车输入(BKIN)用于以下哪种功能?**
**选项**:
A. 紧急停止PWM输出
B. 调整计数器方向
C. 触发DMA请求
D. 配置死区时间
**答案:A**
**解析**:刹车输入(BKIN)用于安全相关场景,如电机控制中紧急停止PWM输出。
2. **以下哪个寄存器用于配置ADC的注入通道转换顺序?**
**选项**:
A. ADC_SQR1
B. ADC_JSQR
C. ADC_CR2
D. ADC_SMPR2
**答案:B**
**解析**:ADC_JSQR寄存器设置注入通道序列长度和顺序(JSQ1~JSQ4位)。
### **二、通信协议与接口**
3. **SD卡的SPI模式最高支持多少MHz时钟?**
**选项**:
A. 4
B. 10
C. 25
D. 50
**答案:C**
**解析**:SD卡SPI模式最高支持25MHz,需通过硬件或软件SPI实现。
4. **USART的自动波特率检测功能由哪个寄存器控制?**
**选项**:
A. USART_CR1
B. USART_CR3
C. USART_BRR
D. USART_GTPR
**答案:B**
**解析**:USART_CR3的ABR位使能自动波特率检测,需配合起始位检测。
### **三、RTOS与任务调试**
5. **FreeRTOS中,以下哪个函数用于获取任务运行时间统计?**
**选项**:
A. vTaskList()
B. vTaskGetRunTimeStats()
C. uxTaskGetStackHighWaterMark()
D. eTaskGetState()
**答案:B**
**解析**:vTaskGetRunTimeStats()需启用`configGENERATE_RUN_TIME_STATS`宏,输出任务运行时间百分比。
6. **任务间同步时,以下哪种方式支持超时机制?**
**选项**:
A. 信号量
B. 互斥锁
C. 队列
D. 事件标志组
**答案:C**
**解析**:xQueueReceive()和xQueueSend()支持超时参数(TicksToWait)。
### **四、低功耗与电源管理**
7. **STM32G4的LSE(低速外部晶振)频率为?**
**选项**:
A. 32.768kHz
B. 16MHz
C. 8MHz
D. 40kHz
**答案:A**
**解析**:LSE通常使用32.768kHz晶振,用于RTC和低功耗定时器。
8. **以下哪种低功耗模式允许保留SRAM数据?**
**选项**:
A. 睡眠模式
B. 停止模式
C. 待机模式
D. 深度睡眠模式
**答案:B**
**解析**:停止模式下内核电源关闭,但SRAM和寄存器内容保留。
### **五、模数转换与传感器**
9. **ADC的连续转换模式由哪个寄存器控制?**
**选项**:
A. ADC_CR1
B. ADC_CR2
C. ADC_SQR1
D. ADC_SR
**答案:B**
**解析**:ADC_CR2的CONT位设置连续转换模式(1:连续,0:单次)。
10. **读取BH1750光照传感器通常使用哪种协议?**
**选项**:
A. UART
B. SPI
C. I2C
D. 单总线
**答案:C**
**解析**:BH1750默认I2C地址为0x23或0x5C,支持多种测量模式。
### **六、电路设计与调试**
11. **以下哪种情况会导致STM32G4的SWD调试接口失效?**
**选项**:
A. 使能JTAG模式
B. 配置PA13/PA14为GPIO
C. 复位系统
D. 烧写程序
**答案:B**
**解析**:SWD使用PA13(SWDIO)和PA14(SWCLK),若配置为GPIO则调试接口失效。
12. **使用逻辑分析仪捕获I2C时序时,需监测哪些信号线?**
**选项**:
A. SCK、MOSI、MISO
B. SDA、SCL、GND
C. TX、RX、VCC
D. PWM、AIN、GND
**答案:B**
**解析**:I2C通信需监测数据线(SDA)和时钟线(SCL)。
### **七、开发工具与代码优化**
13. **Keil MDK中,以下哪个选项用于设置代码段的起始地址?**
**选项**:
A. Target → IROM1
B. C/C++ → Preprocessor Symbols
C. Debug → Flash Download
D. Output → List File
**答案:A**
**解析**:在Target选项卡的Memory Layout中设置IROM1的起始地址和大小。
14. **以下哪种方法可减少STM32G4的RAM占用?**
**选项**:
A. 使用全局变量
B. 动态分配内存
C. 减少局部变量
D. 使用浮点运算
**答案:C**
**解析**:局部变量存储在栈中,减少局部变量可降低RAM使用。
### **八、综合应用题**
15. **设计一个需要高精度RTC的设备,应优先选择?**
**选项**:
A. 使用LSI时钟
B. 外接LSE晶振
C. 软件校准时间
D. 使用USB同步时间
**答案:B**
**解析**:外接32.768kHz LSE晶振可提高RTC精度,LSI(40kHz)精度较低。
**说明**:
- 题目覆盖STM32G4高级外设(如刹车输入、自动波特率)、低功耗定时器、传感器协议等新考点。
- 选项设计注重细节区分(如寄存器功能、协议参数),解析强调实际工程应用。
- 答案与蓝桥杯近年命题趋势一致,适合强化训练和查漏补缺。
**说明**:
- 题目覆盖STM32寄存器配置、外设协议、RTOS函数、低功耗策略等新考点。
- 选项设计包含典型干扰项(如混淆寄存器名称、功能相似但错误的操作步骤)。
- 解析突出关键知识点(如寄存器作用、协议时序、功耗优化原理)。
- 答案与蓝桥杯命题趋势一致,适合考前冲刺练习。