STM32
文章平均质量分 95
南山十一少
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于 STM32CubeMX 实现按键改变 FreeRTOS 多任务的状态(升级版)
摘要:本文介绍了FreeRTOS系统下任务调度的优化方案。针对原有设计中按键轮询效率低、任务状态重复获取、LCD刷新闪烁等问题,提出了四项改进:1)采用任务通知机制实现按键事件驱动;2)通过队列共享任务状态数据避免重复调用;3)引入显存缓存机制优化LCD显示;4)使用DMA传输提升数据写入效率。实验基于STM32F103平台,通过FSMC扩展外部SRAM存储显存缓存,实现了系统性能的全面提升原创 2025-10-28 15:59:29 · 938 阅读 · 0 评论 -
基于 STM32CubeMX 实现按键改变 FreeRTOS 多任务的状态( STM32F103ZET6)
本文基于STM32CubeMX和FreeRTOS实现了多任务管理系统,包含LED闪烁、按键控制、LCD显示和串口监控五个任务。通过外部按键(KEY0-KEY2、KEY_UP)动态控制任务状态:KEY0/1挂起/恢复LED0任务,KEY2/KEY_UP删除/重建LED1任务。重点讲诉了外部中断按键的实现和原理原创 2025-10-17 20:27:52 · 783 阅读 · 0 评论 -
基于 STM32CubeMX 实现 FreeRTOS 可视化移植的多任务 LED 控制实践(基于 STM32F103ZET6)
本实验基于STM32F103ZET6开发板,通过STM32CubeMX工具实现FreeRTOS可视化移植,完成多任务LED控制。实验重点包括:1)使用TIM3定时器配置运行时间统计;2)通过串口DMA输出任务状态(vTaskList)和CPU占用率(vTaskGetRunTimeStats);3)建立监控任务周期打印系统信息。原创 2025-10-15 19:19:07 · 979 阅读 · 0 评论 -
STM32CubeMX + HAL 库:定时器输入捕获的应用,PWM波的占空比(频率/周期)测量
本实验通过 STM32 定时器对 PWM 信号的周期、频率和占空比进行测量,演示了 从模式、双通道捕获 和 单通道捕获 三种方法。实验比较了三种方法在测量精度与实时性方面的差异。结果表明:使用硬件自动清零计数器 CNT 的 从模式精度最高;通过中断清零 CNT 的 双通道方法次之;而 单通道方法由于需要在中断中切换捕获极性,占用 CPU 时间较多,测量精度最低。实验验证了硬件复位和中断处理对 PWM 测量精度的影响,为嵌入式系统中高精度信号测量提供了参考。原创 2025-10-11 21:58:54 · 1025 阅读 · 0 评论 -
基于 ST-Link 和 MDK-Keil 的 STM32 程序下载实验
本文介绍了在MDK-Keil环境下使用ST-Link进行STM32程序下载与调试的方法。首先对比了ST-Link与其他调试工具的特点及适用场景,重点说明了ST-Link的硬件连接方式,文章还详细讲解了在STM32CubeMX中配置DEBUG接口为SerialWire模式的方法,并提供了ST-Link驱动下载安装步骤以及MDK keil的调试和下载程序自动复位设置。原创 2025-09-19 18:42:15 · 1176 阅读 · 0 评论 -
STM32CubeMX + HAL 库:用FSMC接口驱动TFT LCD屏幕显示
本实验通过STM32的FSMC接口驱动2.8寸TFTLCD屏幕(ILI9341驱动芯片),实现了屏幕初始化、清屏和 标准 ASCII 字符集显示功能。实验详细介绍了TFTLCD的工作原理、FSMC配置方法以及与OLED的对比特性,重点阐述了FSMC在驱动LCD时的特殊应用——使用地址线区分命令/数据寄存器而非直接寻址。实验代码实现了字符显示、字符串输出等功能,验证了驱动程序的正确性。通过本实验掌握FSMC接口驱动TFTLCD屏幕基础,为后续开发图形界面应用奠定基础。原创 2025-09-17 10:06:30 · 1006 阅读 · 0 评论 -
STM32CubeMX + HAL 库:用硬件SPI接口实现W25Q64 SPI Flash芯片的读写操作
本实验基于STM32微控制器通过SPI接口实现对W25Q64 NOR Flash存储芯片的读写操作。实验详细介绍了SPI协议的工作原理(4种工作模式)和W25Q64芯片特性(8MB容量、4KB扇区结构及指令集)。通过STM32CubeMX配置硬件SPI2接口,并实现驱动函数包括ID读取、扇区擦除、页编程和数据读取等功能。主程序演示了芯片ID识别、随机扇区擦除、多页数据写入和读取验证等完整流程。原创 2025-08-06 18:14:30 · 1738 阅读 · 0 评论 -
STM32CubeMX + HAL 库:基于 I²C 通信的 BMP280气压海拔测量
摘要:本实验基于STM32硬件I²C接口实现了BMP280高精度气压/温度传感器的数据采集与处理。通过HAL库完成了传感器初始化、校准参数读取、温度/气压补偿计算及海拔高度换算等关键功能。实验结果表明,系统能够准确输出温度(℃)、气压(KPa)和海拔高度(m)数据。对比测试显示,BMP280温度测量值略高于ATH20传感器。该方案为环境监测、无人机高度控制等应用提供了可靠的技术实现,具有精确度高(气压误差±0.12hPa)、支持多种采样模式(16X过采样)等特点。原创 2025-09-03 11:38:50 · 1110 阅读 · 0 评论 -
STM32CubeMX + HAL 库:基于 I²C 通信的 AHT20 高精度温湿度测量实验
本文介绍了基于STM32CubeMX和HAL库通过I²C接口驱动AHT20温湿度传感器的实验。与存储型 EEPROM(如 AT24C32)不同,AHT20 属于命令型设备,因此文章详细介绍了二者使用 STM32 HAL 库时的函数调用方式的区别。并提供HAL驱动文件,和验证代码,对高精度温湿度传感器的应用进行了实践说明,为学习和工作提供了参考。原创 2025-08-29 21:53:36 · 734 阅读 · 0 评论 -
STM32CubeMX + HAL 库:基于通用定时器输出比较功能实现 PWM 的无源蜂鸣器歌曲演奏实验
本实验通过 STM32 微控制器的通用定时器输出比较功能,生成 PWM 波形 驱动无源蜂鸣器,实现乐音输出与歌曲演奏。实验展示了 PWM 信号的频率与占空比调节原理,以及如何将音乐音符映射为对应 PWM 频率进行播放。通过实验,读者能够掌握 定时器输出比较模式 的基本原理与使用方法,理解 PWM 信号与音频频率的对应关系,并掌握占空比与频率对音调和音量的控制技巧。在实践中,能够完成无源蜂鸣器驱动,并扩展至 音乐播放、报警提示等应用,为嵌入式系统的声音输出与外设驱动提供技术基础原创 2025-08-28 19:21:44 · 1175 阅读 · 0 评论 -
STM32CubeMX + HAL 库:用硬件IIC接口实现DS3231 实时时钟读取与设置实验
本实验基于STM32微控制器的硬件I²C接口,实现对DS3231高精度实时时钟芯片的通信与功能验证。实验内容包括时间/日期读写、闹钟配置与中断处理,详细介绍了DS3231的寄存器结构、BCD编码格式及中断输出特性。通过CubeMX配置I²C外设,并提供了完整的驱动代码实现时间设置、温度读取等功能。实验结果表明,系统能准确完成时间数据交换和温度监测。文章还对比了不同RTC芯片的性能参数,指出DS3231具有±2ppm的高精度和温度补偿优势。后续将扩展闹钟中断、蜂鸣器驱动等综合应用,并探讨更高精度的温度采集方案原创 2025-08-22 10:18:36 · 877 阅读 · 0 评论 -
STM32CubeMX + HAL 库:用FSMC接口与IS62WV51216芯片实现stm32外部SRAM扩展
【摘要】本实验基于STM32CubeMX和HAL库,实现了STM32通过FSMC接口驱动IS62WV51216并行SRAM。FSMC将外部SRAM映射到0x68000000地址空间,实验通过__attribute__((at()))将变量固定在外部SRAM地址,验证了不同存储类型的变量分配机制。实验还演示了指针访问外部SRAM的方法,并分析了FSMC的26位地址线寻址原理及16位数据宽度的地址映射机制,为嵌入式系统扩展外部存储提供了实践参考。原创 2025-08-13 18:21:57 · 1296 阅读 · 2 评论 -
STM32CubeMX + HAL 库:用硬件IIC接口实现AT24C02 EEPROM芯片的读写操作
本实验基于STM32硬件I²C接口实现了AT24C02 EEPROM的读写操作,包括单字节、多字节和跨页写入功能。实验详细介绍了I²C协议原理、AT24C02芯片特性及与Flash存储器的区别,提供了完整的驱动代码和STM32CubeMX配置方法。实验结果为嵌入式系统中的小容量数据存储应用(如配置参数保存)提供了实用方案,同时指出该驱动不适用于地址空间更大的AT24C32等型号。原创 2025-08-11 19:29:51 · 1076 阅读 · 0 评论 -
STM32CubeMX + HAL 库:用PCF8574芯片实现 IIC 总线协议驱动 LCD1602 显示
本文介绍了基于STM32微控制器通过I²C总线驱动LCD1602显示模块的实现方案。传统并行接口方式需占用12个I/O引脚,而采用PCF8574扩展芯片可将接口简化为2线I²C通信(SCL/SDA),大幅节省引脚资源并提高系统稳定性。文章详细说明了硬件连接方案、STM32CubeMX配置步骤(包括I²C设置)、Keil工程构建方法,并提供了完整的驱动代码实现,包括初始化、指令/数据写入、光标控制、字符串显示等功能。原创 2025-07-30 19:15:37 · 1265 阅读 · 0 评论 -
STM32CubeMX + HAL库:基于DHT11温湿度监测实现
本实验基于STM32微控制器实现了DHT11温湿度传感器的数据采集。通过单总线协议与DHT11通信,配置GPIO引脚和USART串口输出,每2秒采集并打印环境温湿度数据。实验详细介绍了硬件连接(DATA接PE0引脚,需4.7kΩ上拉电阻)、STM32CubeMX配置(时钟树、GPIO、USART等)以及Keil/VSCode开发环境搭建。驱动代码实现了DHT11的初始化、数据读取和校验功能,主程序通过printf输出采集结果。原创 2025-07-27 03:42:54 · 1816 阅读 · 0 评论 -
STM32CubeMX + HAL库:基于ADC内部通道信号源的芯片温度监测实现
本文介绍了基于STM32CubeMX+KeilMDK+VSCode的协同开发模式,采用HAL库实现ADC温度监测和多通道数据采集。通过图形化配置完成外设初始化,利用DMA双缓冲机制实现无阻塞数据传输,最终通过UART输出温度与电压数据。文章详细阐述了从时钟配置、ADC参数设置到代码实现的完整流程,重点解决了温度测量异常等常见问题,为STM32开发提供了实用参考方案。该方案特别适合作为HAL库应用、多外设协同开发的入门案例。原创 2025-07-26 02:35:30 · 1209 阅读 · 0 评论
分享