<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wcynbl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wcynbl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wcynbl]]></copyright><item><title><![CDATA[互斥锁和二进制信号量的区别]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/165615545</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/165615545</guid><author>wcynbl</author><pubDate>Wed, 16 Sep 2026 15:20:06 +0800</pubDate><description><![CDATA[Mutex用于保护共享资源，具有所有权机制，强调“谁获取谁释放”，支持优先级继承，防止优先级反转；二进制信号量用于任务同步或事件通知，无所有权，允许多方协作（如中断发信号、任务接收），适合中断与任务间通信。核心区别：Mutex保资源，信号量传事件。]]></description><category></category></item><item><title><![CDATA[全局变量在嵌入式系统中是如何分配和初始化]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/149630247</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/149630247</guid><author>wcynbl</author><pubDate>Fri, 25 Jul 2025 09:42:53 +0800</pubDate><description><![CDATA[嵌入式系统中，全局变量的内存管理机制包含三个关键阶段：编译阶段确定RAM地址和内存分布，烧录阶段将程序代码和初始化数据写入Flash，上电启动阶段通过启动代码自动初始化RAM。其中.data段变量从Flash拷贝初值，.bss段变量被清零，使得掉电后变量状态能够恢复。整个过程解释了为什么全局变量在重新上电后能保持初始状态，而不会因RAM掉电丢失数据。系统通过这种静态分配和自动初始化的机制，确保了全局变量的可靠性和一致性。]]></description><category></category></item><item><title><![CDATA[断码屏通用驱动框架设计：支持任意段位映射与平台移植]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/149093384</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/149093384</guid><author>wcynbl</author><pubDate>Thu, 03 Jul 2025 14:52:07 +0800</pubDate><description><![CDATA[本文介绍了一种基于TM1621芯片的断码屏通用驱动框架，解决了不同断码屏引脚排布差异带来的开发痛点。该框架通过解耦逻辑段位与物理COM/SEG引脚，将段位映射关系以表格形式管理，使开发者只需描述显示内容而无需关心硬件连接。框架采用显示缓冲区机制，支持批量刷新，可灵活扩展动画效果，适配新屏幕仅需修改映射表即可复用核心驱动代码。该方案显著提高了断码屏开发的效率和可维护性。]]></description><category></category></item><item><title><![CDATA[SD3302/SD2068/SD3068程序驱动]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/147504737</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/147504737</guid><author>wcynbl</author><pubDate>Fri, 25 Apr 2025 12:02:11 +0800</pubDate><description><![CDATA[SD3302 实时时钟（RTC）芯片以其高精度、硬件写保护、闹钟输出和温度补偿功能，成为可靠的计时解决方案，它通过标准I²C（7 位地址）总线与 MCU 通信，内部提供122 字节寄存器（包括时间、闹钟、控制、电池状态、70 字节用户 SRAM 及 8 字节唯一 ID），并内建谐振电容 + 数字温度补偿，无需外置晶振调校即可实现宽温自动校时；内置定时/报警中断（最长可设 100 年），配合后备电池智能充电与欠压检测；更支持 SD2068/SD3068 软件兼容、管脚兼容 1302，轻松替换旧款。]]></description><category></category></item><item><title><![CDATA[超轻量级的嵌入式定时任务调度系统]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/147479854</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/147479854</guid><author>wcynbl</author><pubDate>Thu, 24 Apr 2025 15:41:07 +0800</pubDate><description><![CDATA[在嵌入式开发中，许多项目需要在没有操作系统或仅需一个简单调度框架的场景下运行定时任务。本文将介绍一款轻量级定时任务调度器框架，它具有代码简单、资源开销低、易于扩展的特点，适合大多数软实时应用。这套轻量级定时任务调度器框架几乎零侵入即可集成到任何项目中。可以根据实际需求，扩展优先级、超时追踪或统计功能。]]></description><category></category></item><item><title><![CDATA[涂鸦模组配网流程（详细中文描述）]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/147310098</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/147310098</guid><author>wcynbl</author><pubDate>Thu, 17 Apr 2025 17:22:11 +0800</pubDate><description><![CDATA[在智能家居场景下，涂鸦智能的双模（BLE + Wi‑Fi）模组能兼顾本地和云端两种接入方式，大大提升了配网的成功率和用户体验。本文将从模组上电开始，结合 BLE 与 Wi‑Fi 的状态值，逐步拆解完整的配网、绑定、切换逻辑，并附上状态对照表，帮助开发者快速掌握涂鸦模组的工作流程。本文全面梳理了涂鸦智能双模模组的配网、绑定与控制切换流程，希望对快速集成与故障排查有所帮助]]></description><category></category></item><item><title><![CDATA[ESP32-C3 GPIO11 解锁教程：将 VDD_SPI 复用为 GPIO11]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/141643905</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/141643905</guid><author>wcynbl</author><pubDate>Wed, 28 Aug 2024 16:37:17 +0800</pubDate><description><![CDATA[更改 VDD_SPI 为 GPIO11 是一项不可逆的操作，对芯片功能具有重大影响。在执行之前，务必确认芯片型号和外设配置是否支持。如果不确定，建议在开发阶段谨慎操作或使用不影响关键功能的其他引脚。通过本文介绍的方法，你可以成功在 WSL 环境中使用串口与 ESP32-C3 进行通信，并在需要时将 VDD_SPI 解锁为 GPIO11。]]></description><category></category></item><item><title><![CDATA[使用STM32的DAC + DMA + TIM实现音乐播放（HAL库）]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/140127338</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/140127338</guid><author>wcynbl</author><pubDate>Tue, 02 Jul 2024 15:25:10 +0800</pubDate><description><![CDATA[在嵌入式系统中，利用STM32系列微控制器实现音频播放是一个常见而又具有挑战性的任务。常见的播放音频的方式包括：

- TIM+PWM方式
- DAC+运算放大器到喇叭
- IIS+语音解码芯片

本文主要介绍如何利用**DAC+运算放大器到喇叭**的方式，用到的有**STM32F103RCT6**的DAC（数字模拟转换器）、DMA（直接存储器访问）和TIM（定时器）模块，结合HAL库（Hardware Abstraction Layer），来实现音乐的数字转模拟输出，从而实现音频播放功能。]]></description><category></category></item><item><title><![CDATA[EV1527 解码程序：简单易懂、移植性超强]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/137114077</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/137114077</guid><author>wcynbl</author><pubDate>Thu, 28 Mar 2024 16:01:20 +0800</pubDate><description><![CDATA[EV1527 是一种常用的射频编码芯片，通常用于无线遥控器、智能家居设备等领域。然而，对于很多开发者来说，网上现有的 EV1527 解码函数不够清晰易懂，而且在移植到不同平台时可能会遇到一些困难。本文将介绍一种简单易懂、移植性超强的 EV1527 解码程序，并详细解释其原理和实现。]]></description><category></category></item><item><title><![CDATA[解决STM32定时器输出PWM时100%占空比异常的问题]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/137038209</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/137038209</guid><author>wcynbl</author><pubDate>Tue, 26 Mar 2024 10:27:01 +0800</pubDate><description><![CDATA[在使用STM32系列微控制器进行PWM输出时，有时会遇到一个令人困惑的问题：即使将PWM的占空比设置为100%（即ARR等于CCR），输出的信号却不是持续的高电平，而是出现了一个小脉冲。这个问题常常让开发者感到困惑，因为理论上，当占空比为100%时，输出应该是稳定的高电平。]]></description><category></category></item><item><title><![CDATA[单片机按键框架：具有超高扩展性及可移植性]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/136687865</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/136687865</guid><author>wcynbl</author><pubDate>Wed, 13 Mar 2024 18:27:19 +0800</pubDate><description><![CDATA[在嵌入式系统中，按键作为用户与设备交互的重要接口，其稳定可靠的响应是保证用户体验的关键。然而，按键开发面临着诸多挑战，其中包括需求不确定导致的频繁修改和各种按键触发方式的实现。为了解决这些问题，我们提出了一种创新的单片机按键应用框架，旨在简化按键开发流程、提高开发效率，以及增强按键系统的稳定性和灵活性。]]></description><category></category></item><item><title><![CDATA[基于事件驱动的LED控制框架详解]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/136656531</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/136656531</guid><author>wcynbl</author><pubDate>Tue, 12 Mar 2024 16:43:35 +0800</pubDate><description><![CDATA[在嵌入式系统开发中，LED控制是一个常见的需求，不同项目对LED的效果和功能要求各不相同。传统的LED控制方式需要针对不同的需求编写不同的代码，增加了开发的工作量和复杂度。为了解决这一问题，我开发了一种扩展性较强的LED框架，该框架脱离底层细节，只关注应用层，提供一种通用的LED控制方案，使得开发人员可以轻松实现各种LED效果，极大地提高了开发效率和灵活性。]]></description><category></category></item><item><title><![CDATA[使用VS Code实现编辑与编译一体化：这年头谁还用Keil5烧录啊!]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/136645470</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/136645470</guid><author>wcynbl</author><pubDate>Tue, 12 Mar 2024 11:05:37 +0800</pubDate><description><![CDATA[在传统的开发过程中，开发者通常会使用VS Code等文本编辑器编辑代码，然后使用Keil5等集成开发环境进行编译。这种切换来回的方式不仅繁琐，而且容易导致操作失误，降低开发效率。因此，实现一站式编辑与编译对于提高开发效率和舒适度至关重要。]]></description><category></category></item><item><title><![CDATA[菜鸟硬件学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/wcynbl/article/details/126449569</link><guid>https://blog.youkuaiyun.com/wcynbl/article/details/126449569</guid><author>wcynbl</author><pubDate>Sun, 21 Aug 2022 12:42:24 +0800</pubDate><description><![CDATA[三种485通讯电路的踩坑日记及总结]]></description><category></category></item></channel></rss>