自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 【STM32+MAX4466】音频采集与FFT频谱OLED效果呈现

本文聚焦STM32平台基于MAX4466麦克风的音频FFT频谱OLED显示项目,结合CMSIS-DSP库核心函数特性,梳理从ADC采集、去直流到幅值计算的全流程要点,为嵌入式音频可视化开发提供清晰实用的入门指引。本项目以STM32微控制器为核心,借助CMSIS-DSP库的FFT函数,通过麦克风模块完成音频信号采集,经基4 FFT算法完成频谱运算,将校准后的音频幅值呈现在OLED显示屏上。本项目采用基4傅里叶变换算法,因此FFT变换点数必须满足4的N次幂。

2026-11-08 12:29:48 71

原创 【STM32+MAX98357】MP3转PCM存入Flash并控制音频输出

针对MCU内存资源受限问题,可将资源预先烧录至外部Flash,此前《LVGL从外部Flash读取并显示图片:自定义解码器方案》已详细阐述图片资源的读取与显示方法。本文将以音频场景,介绍基于外部Flash的MP3音频播放输出控制方案。(1)将不同音频格式的文件转换成PCM文件。(2)将PCM音频数据写入外部Flash存储。(3)读取外部音频数据并控制播放。本方案针MCU内存不足问题,将MP3(或其他格式)解码得到的PCM裸音频数据预先烧录至外部SPI Flash。

2026-10-25 15:57:00 230

原创 LVGL从外部Flash读取并显示图片:自定义解码器方案

上一篇《解决MCU内存不足:LVGL资源外部Flash烧录教程》已介绍LVGL资源的外部Flash烧录方法,本文将进一步讲解如何读取外部Flash中的LVGL资源数据并完成显示。若MCU内存充足,采用图像数据缓冲区是最简便的方案:通过调用Flash读取函数加载数据,并利用lv_img_dsc_t定义图片信息。但该方案需占用与图片大小相当的RAM空间,因此在MCU资源受限时并不适用。// 定义图片缓冲区// 读取数据// 将图片数据等信息传递给图片描述结构体因此,本文采用自定义解码器。

2026-10-12 13:53:09 155

原创 解决MCU内存不足:LVGL资源外部Flash烧录教程

使用LVGL开发GUI时,界面复杂度越高,所需的图像、字体资源体量就越大,会直接占用更多片内Flash与RAM空间。若所选MCU的片内存储资源不足以承载这些资源,就必须借助外部串行Flash与扩展RAM来突破内存限制。本文将以双界面切换的场景为例,讲解如何通过GUI Guider在内存受限的MCU平台上完成LVGL的GUI开发,同时覆盖图片转BIN文件、资源烧录至外部Flash的实操方法。

2026-09-27 17:14:30 398

原创 GUI Guider的LVGL可视化界面开发教程

上一篇讲解了如何通过Visual Studio Code模拟LVGL界面,但纯代码开发对初学者并不友好——不仅要手写所有代码,还需要花费大量时间熟悉各类控件的用法。如果想要‌快速完成LVGL的UI设计‌,可以直接使用专用的可视化开发工具,比如GUI Guider、SquareLine Studio以及QT Creator等。本文就带你手把手掌握基于GUI Guider的LVGL可视化界面开发流程。(1)若需创建多个页面,点击“+”号添加。(2)

2026-09-13 15:00:28 364

原创 VS Code环境下LVGL模拟器的配置与运行

借助模拟器,开发者无需嵌入式硬件就能直接在PC端进行LVGL的GUI设计。而LVGL本身也支持Windows、Linux、Mac多系统,官方提供了适配多种集成开发环境的模拟运行方案。本文将基于Visual Studio Code结合SDL驱动,讲解LVGL模拟器的环境配置与运行步骤。尽管Windows系统并非官方推荐的Visual Studio Code开发场景,但该方案无需安装虚拟机,就能直接在Windows上运行模拟器,使用起来更加便捷。

2026-08-30 15:52:58 352

原创 【STM32】基于HAL库的LVGL移植(无操作系统)

LVGL是一款轻量、多功能的开源嵌入式图形库,内置丰富控件与图形资源,还支持模拟器仿真。本文以STM32CubeMX生成的HAL库代码为基础,介绍LVGL图形库的添加方法,并对比不同控制方式、缓冲模式及刷新频率下的显示效果。LVGL官方提供字库生成,根据需要填写内容。在STM32上无操作系统移植LVGL图形库的过程中,可能会遇到各类问题,也需使用多种控件,建议多查阅官网资料,其中包含详尽的解释与示例展示,能为移植和控件使用提供有用的参考。搜索关注「YouziTech」 ,获取更多内容!

2026-08-17 11:29:47 311

原创 【STM32CubeMX】生成HAL库的Keil工程

继前篇文章介绍STM32CubeMX的安装后(【STM32CubeMX】安装教程),本文将详细讲解如何利用该工具创建基于HAL库的Keil工程。对于新产品设计,推荐采用STM32CubeMX来加速开发流程,其标准化的配置框架与跨系列适配能力,不仅能大幅提升底层代码的复用率,还能为后续产品平台的移植与迭代打下基础。(1)Core:存放工程和核心源文件,包括主函数、系统配置文件(如system_stm32f1xx.c)、外设初始化和硬件资源配置文件(如stm32f1xx_hal_msp.c)。(2)

2026-08-02 15:04:49 228

原创 【STM32CubeMX】安装教程

STM32CubeMX是ST官方推出的图形化配置工具,可视化配置STM32芯片的引脚、时钟树与外设‌,并自动生成HAL库初始化代码‌,大幅提升开发效率。它还支持中间件集成(如FreeRTOS、USB、TCP/IP)和调试烧录接口配置(如SWD、JTAG),实现从项目创建到代码生成的一站式开发。本文将介绍如何安装STM32CubeMX以及使用该软件生成适用于Keil MDK的HAL库工程。

2026-07-20 11:11:12 1251

原创 过零检测设计方案及应用

过零检测是大功率负载、电机驱动等电子产品中常用的方法‌,通过硬件电路与软件算法配合,检测交流电过零点,以此确保在控制负载开关动作的瞬间,最大程度降低电流冲击,有效抑制电弧(浪涌)产生,从而显著延长电子元器件的使用寿命。尤其对于需要通过EMC、CE、UL等认证的产品而言,过零检测更为重要,能大幅降低产品对电网的电磁干扰,满足市场标准。本文将介绍多种实用的过零信号检测以及驱动负载方案,为不同成本与性能需求场景下的产品开发提供技术参考。该过零检测方案通过光耦实现电气隔离,适用于隔离电源设计。

2026-07-05 16:00:00 594

原创 【STM32】是否使用U8G2图形库?从小游戏项目看开发差异

上文通过菜单设计演示U8G2图形库的基础用法(【STM32】U8G2图形库应用–菜单设计与开发),本文将借助两个小游戏案例,对比多种显示控制方案,从而理解U8G2图形库的优势领域和使用场景。(1)小恐龙游戏:使用IIC通信和U8G2图形库显示方式;只使用IIC通信分别测试“全屏刷新”与“区域刷新”两种显存更新方式。(2)贪吃蛇游戏:使用IIC通信和U8G2图形库显示方式;只使用IIC通信“区域刷新”显存更新方式。以下为三种方式的优劣势对比。从表格可见,

2026-06-21 15:17:49 283

原创 【STM32】U8G2图形库应用--菜单设计与开发

在掌握U8G2图形库移植的基础上,本文进一步探讨其在STM32上的应用:实现多级菜单界面,分享多种菜单架构的设计思路与代码实现。(1)一级菜单使用U8G2图形库中的列表功能,垂直方向滑动选择。(2)二级菜单采用自定义列表菜单,分别是垂直和水平方向滑动选择,交互体验更丰富且提升操作灵活性。(3)实现长文本垂直方向循环滚动效果,在有限屏幕空间内完整展示信息。(4)使用U8G2图形库的API,实现对屏幕对比度调节、中英文字体切换、画面旋转、反显模式等功能,满足多样化显示需求。(1)水平方向。

2026-06-07 15:20:52 243

原创 【STM32 + SSD1306 OLED】U8G2图形库移植

本文介绍了在STM32平台上移植U8G2图形库驱动SSD1306 OLED显示屏的方法。U8G2库具有跨平台、开发简单、支持多种缓冲模式等优势。移植过程包括硬件连接配置、源码精简优化、接口函数编写等步骤,详细说明了IIC和SPI两种接口的实现方式,并提供了代码示例。通过合理选择缓冲区模式,开发者可根据STM32资源情况平衡性能与稳定性。该方案可帮助开发者快速实现OLED图形显示功能。

2026-05-25 09:15:00 645

原创 锂电池供电设备待机省电指南:低功耗方案

对于锂电池供电的移动设备而言,待机功耗控制是核心设计考量之一。即便将主控芯片切换至低功耗模式,仍不可避免地会产生功耗,再加上外围电路的静态损耗,日积月累会大幅缩短设备续航时长。针对这一问题,本文提供锂电池供电设备的待机低功耗方案,为解决待机功耗问题提供可行路径。本文提出的两种方案均有效降低锂电池移动设备功耗。

2026-05-10 14:49:49 511

原创 【STM32】TFT屏触摸应用

触摸屏主要分为电容式与电阻式两类,二者各有技术特性与适用场景。虽然电容屏是消费电子的主流,体验更好,但选型时,需结合使用场景、操作需求与环境条件,以适配性为核心,而非单纯追求“更好”的产品。以下是两种触摸屏的对比。(1)以触摸屏替代编码器机械式按键,实现功能等效迁移。(2)触摸屏校准功能。触摸应用的核心是通过获取的坐标触发预设流程,若灵敏度过高,可通过去抖处理,如延时或滤波算法减少误触。基于坐标数据还能拓展更多交互:结合压力感应实现轻触预览、重压确认;识别轨迹支持滑动切换等操作。

2026-04-26 14:37:26 446

原创 解决电压不匹配:通信电路的电平转换方案

在电路开发设计中,不同电压规格器件间的通信需求普遍存在。电平不匹配不仅会引发通信失败,更可能直接损坏器件,因此可靠的电平转换电路是跨电压域通信的核心保障。本文将解析多种电平转换方案,并提供可直接落地应用的电路设计参考。在选择电平转换方案时,需综合考量多方面因素(1)首先要掌握不同电压域控制芯片引脚的高低电平阈值范围,明确其逻辑电平的判定标准。(2)其次需分析外围电路中各类器件的电气特性,包括但不限于。

2026-04-12 16:15:00 404

原创 【STM32】硬件SPI+DMA驱动ILI9341的TFT屏

本文介绍了基于STM32F103RCT6硬件平台,采用硬件SPI+DMA方式驱动ILI9341芯片的2.8寸TFT显示屏的优化方案。项目通过配置硬件SPI参数(8bit数据传输格式、单线发送模式)和DMA控制器(内存到外设传输、8bit数据宽度),实现了高效的全屏刷新和图像显示功能。相比原有纯硬件SPI方案,该方案利用DMA降低处理器负载,提升数据传输效率。文章详细说明了SPI初始化、DMA配置(包括外设地址设置和内存地址递增模式)以及TFT屏初始化的关键代码实现。

2026-03-29 15:38:04 718 4

原创 【STM32】复用脚资源最大化:多功能引脚复用方案

在实际产品开发中,为了在资源受限的环境中实现更多功能,很多时候就会考虑端口复用,采用分时复用技术是优化I/O口资源利用的核心策略。单个I/O口可在不同时间段内交替执行输入与输出功能,显著减少物理接口数量。例如,在LED显示阵列中,一个I/O口通过快速切换时序,依次控制多路LED的亮灭状态,避免了传统方案中每个LED独立连接的冗余设计。(1)蜂鸣器驱动与温度检测的复用设计。(2)多个按键检测设计‌。(3)多个LED灯控制设计。(4)常用的LED灯与按键复用设计。(5)进阶的LED灯与按键复用设计。

2026-03-15 16:16:42 458

原创 【串口屏项目拓展】基于启英泰伦的离线语音控制与开发

本文介绍了基于启英泰伦CI1312语音芯片的串口屏语音控制拓展项目。项目在原有编码器操作基础上新增离线语音交互功能,包括定时提醒、亮度调节、动画管理、音量控制等。硬件采用CI1312语音芯片、8002A功放芯片、差分麦克风和4R/3W喇叭,通过UART接口实现通信。软件开发基于启英泰伦语音AI平台,支持零代码配置或SDK开发,详细说明了固件参数设置和命令词编辑流程。该方案实现了高效稳定的离线语音控制,适用于智能家居等低功耗场景。

2026-03-01 16:16:27 829

原创 TFT串口屏的应用 + 驱动蜂鸣器模拟和弦音

本文介绍了基于51单片机的TFT串口屏应用开发,通过乐升半导体LT268系列串口屏实现多功能显示界面。系统具备时间日期显示、温湿度监测、久坐提醒等功能,支持编码器操作和蜂鸣器和弦音播放。采用UI_Editor-II软件进行界面设计,通过UART通信与主控交互。详细阐述了界面开发流程,包括素材管理、控件配置、时间显示设置等关键步骤。项目硬件包含1.28寸TFT屏、DHT11传感器和无源蜂鸣器模块,适用于智能家居等场景。

2026-02-08 12:24:23 983

原创 触摸滑条与滚轮的原理及应用

本文介绍了基于比亚迪BF7612触摸芯片的滑条与滚轮交互系统设计。系统采用4通道电容触摸技术,通过加权平均算法将离散的触摸信号转换为0-255连续数值,实现高精度位置检测。硬件设计上详细说明了PCB排版规则和触摸按键布线要求,确保信号稳定性。软件部分通过阈值滤波和插值算法提升操作流畅度,并针对滚轮的环形特性优化了位置计算逻辑。该系统可应用于智能温控等场景,通过触摸滑条和滚轮提供直观的人机交互体验,展示了电容触摸技术在智能设备中的创新应用。

2026-01-25 15:32:00 1117

原创 【STM32】4位阴阳脚位数码管的控制方式

本文介绍了一种基于STM32的4位阴阳结构数码管控制方法,通过8个I/O引脚实现传统12引脚数码管的完整控制。该设计采用分时复用技术,利用定时器中断动态刷新显示,通过交替设置引脚为浮空输入和推挽输出模式,实现LED段选和位选的双向控制。系统还集成温度检测和计时功能,通过按键切换显示内容。这种方案有效节省了I/O资源,降低了硬件成本,为资源受限的嵌入式系统提供了一种高效的数码管驱动解决方案。

2026-01-11 17:16:26 1530

原创 基于Qt框架开发的安卓手机APP智慧鱼缸

本文介绍了基于Qt框架开发的安卓手机APP智慧鱼缸系统。该系统通过Qt的跨平台能力实现硬件与移动端的无缝对接,采用STM32主控芯片集成温度、光照等传感器数据,通过蓝牙模块与APP交互。APP提供实时参数监控、远程控制喂食/灯光等功能,并支持蓝牙设备搜索与配对。文章详细阐述了Qt项目创建、蓝牙模块配置、UI界面设计等开发流程,展示了如何利用Qt Quick技术构建响应式界面。该智慧鱼缸系统实现了"数据采集→算法决策→控制执行"的闭环管理,为用户带来智能化养鱼体验,推动了智能家居领域的发展

2025-12-28 16:15:00 1956

原创 【STM32项目】智慧鱼缸

本文介绍了一种基于STM32F103RCT6微控制器的智慧鱼缸系统,通过蓝牙技术与手机APP互联,实现远程监控和控制。系统集成了TFT显示屏、编码器、蜂鸣器、抽水泵、舵机、PI电热膜、热敏电阻、RGB彩灯等多种硬件模块,具备水温监测、恒温控制、定时喂食、增氧照明等功能。采用5V/2A电源供电,通过软件设计实现初始化、中断处理、PWM输出等核心功能,最终测试结果符合设计要求,为水族养殖提供了智能化解决方案。

2025-12-14 17:20:27 936

原创 QT安装教程:安卓开发环境一站式配置

本文详细介绍了在Windows 10系统上搭建Qt跨平台开发环境的完整流程,重点包括Qt安装、Java环境配置和Android开发环境设置。从Qt官网下载安装包开始,逐步指导安装Qt Creator开发工具,并配置Java JDK及环境变量。针对Android开发,详细说明了SDK、NDK的路径配置和版本选择方法,同时提供了OpenSSL和Windows App SDK的可选配置步骤。通过图文并茂的方式,帮助开发者快速完成开发环境搭建,为多平台应用程序开发做好准备。

2025-12-03 14:40:24 1088

原创 Keil5新建工程教程(STM32F103系列芯片为例)

本文详细介绍了在Keil5中为STM32F103系列芯片新建工程的完整流程。首先创建工程文件夹并规划文件结构,包含CORE、HARDWARE等5个子目录。然后添加必要的内核文件、启动文件和标准外设库。接着通过Keil5界面创建工程,配置芯片型号、生成HEX文件,并逐步添加各类源文件。最后设置包含路径,完成工程框架搭建。该教程帮助开发者快速建立标准化开发环境,为后续编程和调试奠定基础。所有相关文件均可从ST官网下载获取。

2025-11-26 17:16:10 1155

原创 【51内核单片机项目】音乐播放器

本文介绍了一个基于51内核单片机的音乐播放器项目,使用C语言编程实现音频播放功能。系统硬件包括比亚迪51内核主控芯片、MY1690-16S音频芯片(支持MP3/WAV解码)、0.96寸OLED屏和扬声器。项目实现了播放控制、音量调节、EQ模式切换等功能。软件设计方面,详细介绍了按键检测(含消抖处理)、OLED显示(含滚动显示)等核心功能实现方法,并提供了关键代码示例。该项目适合单片机初学者学习,具有成本低、结构简单的特点,完整电路原理图可帮助理解硬件设计。

2025-11-19 16:10:27 1311

原创 Keil5安装一步到位:C51/MDK双版本+嘉立创EDA速览

本文详细介绍了Keil5双版本(C51/MDK)的安装与破解全流程,包括:1) 分别安装C51和MDK版本到不同英文路径;2) 通过文件复制实现两版本兼容;3) 使用keygen工具完成软件破解;4) 附加STM32 Pack包安装方法。同时简要提及电子开发必备工具嘉立创EDA的使用。教程提供完整网盘资源,重点标注安装注意事项,帮助开发者快速搭建单片机开发环境。

2025-11-13 16:23:38 980

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除