Zigbee、STM32系列开发板-非定时器方式实现PWM呼吸灯-实时状态更改方法-呼吸灯简易实现方法
一、概述本文讲述关于PWM呼吸灯不使用定时器的呼吸方式并且可以实现随时暂停至某一单个亮度的PWM调光程序具有非常高的实时性对外界改变操作实时做出反馈。二、实现思路本文的实现思路是以非定时器PWM实现的需要先学习文章STM32实现模拟呼吸灯效果-非PWM-STM32CubeMx项目生成-手动控制呼吸灯调光下面我们需要使用此思路重新完成呼吸灯的配置其只要思路即在主函数中一直进行PWM的呼吸效果将完整的PWM过程拆分为若干个过程使得程序具有实时性且可以随时停留在某个占空比上当且仅当主程序调用调光函数时占空比才会相应增加或减少。三、代码实现首先定义两个变量分别代表占空比与占空比上升标志位。int zkb0; int up1;主要代码实现如下void breath() { GpioWrite(Led1,0); if(up1) { zkb; if(zkb1500) up0; } else { zkb--; if(zkb0) up1; } for(int i0;i1500;i) { if(izkb) { GpioWrite(Led1,1); } } }通过阅读本段代码可以得知我们只需要在主函数中不断调用即可实现呼吸灯效果且当我们不在调用时LED灯将熄灭。下面我们继续增加一个标志位仅当标志位为真时才会提高会降低占空比代码实现如下int zkb0; int up1; int breathflag0; void breath() { GpioWrite(Led1,0); if(breathflag1) { if(up1) { zkb; if(zkb1500) up0; } else { zkb--; if(zkb0) up1; } } for(int i0;i1500;i) { if(izkb) { GpioWrite(Led1,1); } } }通过这个函数我们可以看出我们在主函数中循环调用该函数当呼吸标志位为真时则占空比会改变否则将持续当前亮度。主函数调用方法int main( void ) { Init(); while( 1 ) { breath(); if(isKey2Pressed()) { breathflag1; resetKey2(); } if(isKey3Pressed()) { breathflag0; resetKey3(); } } }函数解析如下当按下key2键时程序开始进入呼吸灯当按下key3键时呼吸灯停止并一直展示当前亮度。四、总结本文阐述了一种除定时器PWM调光外的一种虚拟的PWM过程且在实时性、效率方便提高以最简单的方式完成呼吸灯的暂停与开始。

相关新闻

LLM集成与AI智能体开发实战:从原理到企业级应用

LLM集成与AI智能体开发实战:从原理到企业级应用

2026年伦敦DConf大会:LLM集成与AI智能体开发实战指南最近在准备参加2026年伦敦DConf大会的技术分享时,发现LLM集成与AI智能体开发已经成为开发者社区的热门话题。无论是企业级应用还是个人项目,如何高效地将大语言模型集成到现有系统中&#…

2026/7/30 17:03:20 阅读更多 →
BES(恒玄) 2600X 蓝牙A2DP低延时解析

BES(恒玄) 2600X 蓝牙A2DP低延时解析

对于延时来说,一般蓝牙耳机整体延时主要分为手机端和耳机端,整个链路上延时主要集中在数据buffer区域 做低延时的方案有以下两个方向 1、一般的编解码方式,AAC跟SBC,用SBC来做低延时比较好,为什么呢?因为它需要解码的数据更少, 1 frame = 128 sample,而AAC的话,1 fr…

2026/7/30 17:03:20 阅读更多 →
拓扑排序题目:最小高度树

拓扑排序题目:最小高度树

文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目 标题和出处 标题:最小高度树 出处:310. 最小高度树 难度 6 级 题目描述 要求 树是一个无向图,其中任何两个结点只通过一条路径连接。换句话说&…

2026/7/30 17:03:20 阅读更多 →

最新新闻

RPG Maker MV/MZ资源解密与加密技术方案:基于浏览器端XOR算法的完整解决方案

RPG Maker MV/MZ资源解密与加密技术方案:基于浏览器端XOR算法的完整解决方案

RPG Maker MV/MZ资源解密与加密技术方案:基于浏览器端XOR算法的完整解决方案 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目…

2026/7/30 17:10:22 阅读更多 →
OpenHarmony应用开发——创建第一个OpenHarmonry工程-开源鸿蒙-物联网

OpenHarmony应用开发——创建第一个OpenHarmonry工程-开源鸿蒙-物联网

目录 一、前言 二、鸿蒙与开源鸿蒙 2.1 应用场景 2.1.1 HarmonyOS 2.1.2 OpenHarmony 2.2 技术架构 三、开发环境准备 3.1 下载并安装DevEco Studio 3.2 配置OpenHarmony SDK 四、详细步骤 五、虚拟机运行 六、鸿蒙设备运行 一、前言 OpenHarmony,作为华…

2026/7/30 17:10:22 阅读更多 →
《新加坡Airbnb民宿数据分析报告》312(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

《新加坡Airbnb民宿数据分析报告》312(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

《新加坡Airbnb民宿数据分析报告》312(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 包含代码数据集报告文档

2026/7/30 17:10:22 阅读更多 →
惊!甲基硅酸钠防水剂源头厂家口碑排行大揭秘,谁能拔得头筹?

惊!甲基硅酸钠防水剂源头厂家口碑排行大揭秘,谁能拔得头筹?

在建筑防水领域,甲基硅酸钠防水剂作为一种常见且有效的材料,受到众多厂家的青睐。建筑工程对于防水的高标准要求,使得选择源头厂家成为保障工程质量的重要环节。今天,我们就来为大家揭秘甲基硅酸钠防水剂源头厂家的口碑排行。行业…

2026/7/30 17:10:22 阅读更多 →
C++日期类实现:从面向对象设计到核心算法详解

C++日期类实现:从面向对象设计到核心算法详解

1. 项目概述:一个日期类的实战价值在C的入门与进阶路上,我们总会遇到一些看似基础,实则能极大锻炼面向对象思维和边界处理能力的“经典项目”。实现一个日期类(Date Class)就是其中之一。它不像游戏或图形界面那样炫酷…

2026/7/30 17:10:22 阅读更多 →
MobaXterm 十大常见问题与解决方案:从基础配置到高级技巧

MobaXterm 十大常见问题与解决方案:从基础配置到高级技巧

一、取消右键复制(禁用右键粘贴) 问题描述:在 MobaXterm 终端中,默认右键单击会直接粘贴剪贴板内容,这可能会意外覆盖正在编辑的命令或文本,尤其是在使用鼠标选择文本时容易误触发。 解决方案&#xff1a…

2026/7/30 17:09:21 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻