自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (52)
  • 收藏
  • 关注

原创 Proteus仿真基于STM32F103C8T6的WS2812彩灯控制系统程序(HAL库)

本设计基于STM32F103C8T6单片机开发了一套WS2812彩灯控制系统。系统通过PB8和PB9接口控制两组WS2812灯带,支持5种显示模式:两种彩虹流水灯、两种单色流水灯和多彩闪烁模式。系统配备三个按键实现启动/停止和模式切换功能,并通过串口实时显示彩灯工作状态。WS2812灯珠采用单总线通信,每个LED可独立控制显示1600万种颜色。该方案采用HAL库开发,已在Proteus中完成仿真验证。

2026-01-26 21:01:59 130

原创 Linux指令1

本文介绍了Linux系统常用的三种重启方法:1)基本重启命令"sudo reboot";2)灵活控制时间的"sudo shutdown -r"命令,可设置立即或延迟重启;3)系统卡死时的强制重启方法,通过Alt+SysRq组合键依次输入reisub来安全重启。这些方法覆盖了从正常到紧急情况下的系统重启需求,其中强制重启方式能有效避免文件系统损坏。

2026-01-21 08:42:23 306

原创 Linux系统初识

本文介绍了Ubuntu虚拟机的两个实用操作:1)通过Ctrl+Alt+Enter组合键快速全屏;2)设置中文界面的详细步骤:安装语言支持组件→添加简体中文包→将中文设为默认语言→重启生效。全文150字,简明扼要地说明了从英文界面切换到中文系统的完整流程。

2026-01-19 19:18:05 194

原创 Linux指令快速记忆

本文介绍了Linux基础命令的记忆技巧:1)非cd类命令通过字面/谐音记忆,如pwd记"怕我丢",clear直接记"清屏";2)cd系列命令用形象联想记忆符号含义,如~联想"家目录",/联想"树根",-记"返回",..记"上一级";3)提供懒人口诀整合记忆:"pwd看位置,clear清屏幕;cd~回我家,cd/找树根;cd-回上处,cd..上一层"。这些方法帮助初学者快

2026-01-13 17:24:48 382

原创 STM32指令集详细介绍

STM32指令集基于ARM Cortex-M内核,采用Thumb/Thumb-2指令集而非传统ARM指令集。Thumb为16位指令,适用于M0/M0+内核,强调代码紧凑和低功耗;Thumb-2为16/32位混合指令,适用于M3/M4/M7内核,兼顾性能和代码密度。关键区别在于:Thumb-2支持32位立即数、批量操作和DSP/FPU指令,而Thumb仅支持基础操作。指令集选择取决于内核类型和应用场景,如M0系列适合简单控制,M4/M7适合复杂运算。实际应用中,Thumb-2能显著提升数据处理效率。

2026-01-07 20:59:15 1100

原创 STM32 启动到运行的完整流程

STM32启动流程分为硬件复位、启动模式选择、启动文件执行、系统初始化和应用程序执行五个阶段。硬件复位后,芯片根据BOOT引脚电平选择启动地址(Flash/系统存储器/SRAM)。启动文件完成栈/堆初始化、中断向量表设置,并执行复位中断处理函数Reset_Handler,负责数据段复制、BSS段清零、系统初始化和跳转至main函数。SystemInit函数配置时钟树和向量表偏移。中断向量表存储中断处理函数地址,实现硬件级快速响应。Bootloader场景需通过SCB->VTOR寄存器调整向量表偏移地址

2026-01-07 15:12:02 1010

原创 Keil 中勾选 “Use MicroLIB” 的作用和串口重定向问题

的操作对象是「电脑的控制台窗口」(比如 VC++ 的黑窗口),但在单片机中没有控制台,所以我们通过「重写(重新实现)这两个函数」,把输出 / 输入的目标改成「单片机的串口」,这就是「串口重定向」。类型,实际存储的是字符的 ASCII 码,比如打印。(打印输出)并不是直接实现输出功能的,它的底层会。来完成「单个字符的逐个输出」;在嵌入式单片机中这个参数可以忽略。来完成「单个字符的逐个读取」。(字符输入)的底层会。

2026-01-07 09:59:22 612

原创 STM32 上下文详解以及栈详细介绍

摘要:STM32的上下文分为中断上下文(裸机/RTOS通用)和RTOS任务上下文(仅RTOS场景)。中断上下文包含硬件自动保存的8个核心寄存器(R0-R3、R12、LR、PC、xPSR)和软件手动保存的R4-R11及浮点寄存器,确保主程序中断后能恢复执行。RTOS任务上下文是中断上下文的扩展,完整保存通用寄存器、PSP栈指针、浮点寄存器及任务状态信息,支持多任务切换。上下文切换通过中断/PendSV异常触发,寄存器状态保存在MSP/PSP栈中,保证程序执行连续性。

2026-01-02 01:02:03 911

原创 FreeRTOS中栈和TCB详细介绍以及栈后进先出详细介绍

摘要:FreeRTOS中每个任务拥有独立的栈空间和任务控制块(TCB)。栈采用LIFO规则,用于保存任务上下文、局部变量及函数调用信息,是任务独立运行的基础。TCB是任务的管理核心,记录任务优先级、状态、栈指针等关键信息,通过链表管理实现任务调度。创建任务时需合理设置栈大小(如示例中的128字),避免溢出或浪费内存。TCB与栈协同工作,在任务切换时保存和恢复运行状态,确保多任务系统稳定运行。两者共同构成了FreeRTOS任务管理的核心机制。

2025-12-26 19:58:20 1080

原创 FreeRTOS事件API函数详细介绍

动态创建一个事件标志组,分配内存存储事件标志组控制块,支持最多 24 个事件位(32 位系统,高 8 位为保留位,低 24 位为用户可用事件位)。

2025-12-26 18:56:02 835

原创 FreeRTOS事件使用场景

摘要:事件标志组在嵌入式开发中适用于多事件同步场景,如多传感器数据采集(与/或逻辑)、多中断通知同一任务、外设初始化同步等。相比信号量或消息队列,它能更灵活地处理多条件触发(位操作),支持原子操作和阻塞等待。但不适用于单个事件同步(建议信号量)、资源保护(需互斥量)或数据传输(需消息队列)。使用时需注意中断安全API、事件位配置(最多24位)及自动清零机制。事件标志组能有效简化多条件判断逻辑,提升代码效率和可维护性。

2025-12-26 18:42:09 853

原创 STM32内核中断和外设中断

摘要:STM32中断分为Cortex-M内核中断和片上外设中断。内核中断是处理器内置的系统异常,优先级固定,包括NMI、HardFault等故障处理类和SysTick、PendSV等RTOS相关中断。外设中断包括GPIO、USART、ADC等模块的中断,不同系列芯片外设数量有所差异。使用中需注意:内核中断优先级不可随意修改;外设中断需先初始化硬件再配置NVIC;与FreeRTOS配合时,中断服务函数应使用中断安全API,避免长时间处理。实时性要求高的外设中断优先级建议设为0-5,普通中断设为6-14。

2025-12-26 11:42:37 982

原创 STM32的中断优先级和FreeRTOS优先级介绍

摘要:STM32的中断优先级(硬件NVIC管理)与FreeRTOS任务优先级(软件调度管理)存在本质区别。中断优先级数值越小优先级越高,用于决定硬件中断响应顺序;任务优先级数值越大优先级越高,决定任务调度顺序。硬件中断优先级高于所有任务,且FreeRTOS内核中断(如SysTick)优先级必须设为最低。配置时需注意:中断分组只需设置一次,用户硬件中断优先级应高于内核中断,中断服务函数应快速执行避免阻塞任务调度。两者仅通过"硬件中断可打断任务"这一规则关联。

2025-12-26 11:04:50 733

原创 互斥量核心API函数详细介绍和优先级继承问题

本文系统梳理了FreeRTOS互斥量API的功能分类和使用要点。主要内容包括:1)互斥量创建类API,区分动态和静态内存分配方式;2)互斥量获取和释放类API,涵盖普通任务和中断服务函数场景;3)互斥量删除类API。重点分析了优先级继承机制解决优先级翻转问题的原理,即当高优先级任务请求互斥量时,持有互斥量的低优先级任务会临时提升优先级。文章还总结了关键使用原则,包括共享资源保护范围、内存配置要求、中断场景限制和死锁避免等,为嵌入式系统开发提供了实用指导。

2025-12-26 10:42:06 860

原创 FreeRTOS进入中断后为什么要先进入临界段

摘要:该代码分析解释了FreeRTOS中断处理函数中的关键机制。DEBUG_USART_IRQHandler使用taskENTER_CRITICAL_FROM_ISR进入临界段,其核心作用是屏蔽低优先级中断但不影响当前IDLE中断。USART的IDLE中断标志位具有触发后保持置位的特性,必须通过读取数据寄存器手动清除。代码执行遵循严格时序:中断触发→进入服务函数→临界段操作→标志位检测。临界段的真正目的是保护后续DMA操作和信号量释放的原子性,防止被低优先级中断打断,而非用于中断检测本身。

2025-12-25 23:34:27 402

原创 信号量核心API函数详细介绍

c运行// 通用信号量句柄(适用于所有信号量类型)功能:定义信号量句柄,用于后续操作信号量(创建、获取、释放等);说明:句柄本质是指向信号量控制块的指针,创建成功后由 API 函数返回。

2025-12-24 17:05:27 1080

原创 FreeRTOS「中断 + 消息队列」代码完整运行顺序详解

本文介绍了基于FreeRTOS的按键中断消息处理实现。系统首先创建AppTaskCreate任务初始化消息队列(长度4,消息大小4字节)和LED_Task任务(优先级2),随后自删。LED_Task通过xQueueReceive阻塞等待队列消息,当KEY1/KEY2按键中断触发时,中断服务程序KEYx_IRQHandler使用xQueueSendFromISR向队列发送数据(1或2),并通过portYIELD_FROM_ISR实现任务切换。LED_Task收到消息后打印对应按键信息并翻转LED1电平,然后继

2025-12-24 15:15:39 981

原创 FreeRTOS任务创建到任务运行完整运行顺序及空闲任务清理资源详细介绍

本文分析了基于STM32和FreeRTOS的动态任务创建过程。首先在main函数中初始化硬件并注册AppTaskCreate任务(优先级1),启动调度器后该任务开始执行。在临界区内,AppTaskCreate创建了两个LED控制任务(优先级2)后自我删除。LED_Task和LED2_Task会交替执行LED控制操作。FreeRTOS的空闲任务(优先级0)会在高优先级任务阻塞时回收被删除任务的资源(512字节栈空间和TCB结构体),防止内存泄漏。整个过程展示了FreeRTOS的任务创建、调度和资源管理机制。

2025-12-24 11:12:57 639

原创 void *用法详细介绍

本文介绍了C语言中void指针的四种核心应用场景:1)实现通用数据结构,通过void存储任意类型数据,减少冗余代码;2)构建通用工具函数,如qsort排序函数,支持不同类型数据处理;3)实现不透明指针,隐藏底层实现细节,提升代码封装性和安全性;4)作为内存操作函数的通用参数,适配任意内存块操作。void*弥补了C语言缺乏泛型的不足,是提升代码复用性和实现封装隔离的关键技术,广泛应用于库开发、嵌入式系统等领域。使用时需注意不能直接解引用和进行指针运算,需先转换为具体类型。

2025-12-23 10:18:59 668

原创 消息队列核心 API 函数详细介绍以及全局变量和队列的区别

静态创建消息队列,需用户提前分配队列控制块和消息缓冲区,适用于无动态堆或需精确控制内存的场景。删除创建的消息队列,释放动态分配的内存(静态创建的队列不释放内存,仅注销句柄)。动态创建一个消息队列,分配队列控制块和消息存储缓冲区,返回队列句柄供后续操作。从队列尾部发送消息,若队列满则阻塞指定时间,超时未发送成功则返回失败。从队列头部接收消息,将消息复制到指定缓冲区,若队列为空则阻塞指定时间。中断服务函数中发送消息,无阻塞机制,需快速执行,避免影响中断响应。中断服务函数中接收消息,无阻塞,快速完成消息读取。

2025-12-23 09:29:53 1202

原创 函数指针和指针函数

摘要: 函数指针与指针函数是C语言中易混淆的概念,核心区别在于本质属性:指针函数是返回指针的函数(如int* func()),用于返回字符串、数组元素或动态内存地址;函数指针是指向函数的指针(如int (*fp)()),用于回调、动态调用等场景。关键差异在于语法优先级——指针函数无括号,函数指针必须用括号明确优先级。指针函数需避免返回局部变量地址,可通过静态变量或动态内存解决;函数指针需严格匹配目标函数的返回类型和参数。typedef可简化函数指针的复杂声明,提升可读性。理解二者的本质差异和适用场景,能有效

2025-12-19 17:15:06 928

原创 FreeRTOS 创建函数详细介绍

FreeRTOS核心功能解析 摘要:本文详细介绍了FreeRTOS实时操作系统的核心功能模块,包括任务管理、列表操作、临界段保护和调度机制。重点阐述了任务创建函数(xTaskCreate/xTaskCreateStatic)的参数配置和使用场景,分析了调度器启动(vTaskStartScheduler)的内部流程,以及任务延时(vTaskDelay)和删除(vTaskDelete)的实现原理。同时讲解了列表数据结构在任务管理中的应用,包括初始化(vListInitialise)和节点操作(vListInse

2025-12-19 15:34:38 596

原创 FreeRTOS 核心知识体系整理

FreeRTOS是一个轻量级实时操作系统,其核心围绕任务管理和调度机制展开。系统通过任务控制块(TCB)、双向链表等数据结构实现多任务管理,采用PendSV异常和SysTick定时器进行任务切换。内核提供任务创建、延时、优先级设置等基本功能,支持静态和动态内存分配方式。FreeRTOSConfig.h文件用于关键配置,如调度方式、Tick频率等。在STM32平台上移植时需配置处理器接口、中断服务函数等。系统启动流程包括硬件初始化、任务创建和调度器启动等步骤。FreeRTOS通过精心设计的数据结构和高效的调度

2025-12-19 15:17:25 988

原创 FreeRTOS链表详解

c运行// 定义节点结构体:数据域 + 指针域int data;// 数据域:存储整数(可替换为任意类型,比如结构体)// 指针域:指向同类型的下一个节点// 为了书写方便,重定义类型名(类似FreeRTOS的typedef)

2025-12-19 11:51:59 934

原创 FreeRTOS简介

摘要:本文介绍了FreeRTOS实时操作系统的核心概念和组件。主要内容包括:1)任务管理,通过优先级调度实现多任务并发执行;2)队列机制实现任务间数据传输;3)信号量(二进制/计数)用于任务同步和资源计数;4)互斥量保护共享资源,具有优先级继承特性;5)详细对比了队列、信号量和互斥量的区别:队列传递具体数据,信号量传递状态,互斥量确保资源独占访问。文章通过LED控制、串口通信等实例演示了各组件使用方法,并提供了组件选型指导原则。

2025-11-26 15:59:50 927

转载 EXCEL 实现“点击跳转到指定 Sheet”的方法

摘要:本文介绍如何在WPS表格中通过超链接功能实现点击单元格跳转到指定工作表。操作步骤包括:1)选中目标单元格;2)通过右键菜单或插入选项卡添加超链接;3)选择"本文档中的位置"并指定目标工作表和单元格;4)确认设置。这一技巧特别适用于制作目录页和交互式报表,能有效提升表格导航效率。(字数:99)

2025-09-23 11:11:05 2388

原创 CH32V203F6P6三种烧录方式

CH32V203F6P6-TSSOP20微控制器支持三种下载方式:USB、串口2(PA2/PA3)和SWD两线下载。通过BOOT0引脚选择启动模式:接GND从主Flash启动(正常工作),接V33从系统存储器启动(支持USB/串口下载)。USB下载需连接USB1插座,将SW3拨向V33;串口下载需交叉连接TX2/RX2,SW3拨向V33;SWD下载则需连接WCH-LINK,SW3保持GND。下载时若提示"读保护",可通过WCHISPStudio解除。使用MounRiverStudio时需

2025-09-20 10:49:21 700

原创 一种利用串口51单片机远程升级 OTA

关键的在这里,因为每次要先运行bootload 所以需要在0x0 位置 跳转到bootload地址是0x6100,再有boot程序跳转到我们的0x1000 这样成正常运行,看起来很复杂,其中只有两个关键地址,0-->0x6100 -->0x1000 , 就这两步骤。为什么要这样划分地址呢。OTA主要就三部分,一个是load程序,一个是应用程序,还有带升级的程序,三个分别存储在不同地址,我以flash 32K为例。2,应用程序 APP1设计,程序功能主要实现我们自己产品功能,以及接收保存远程发过来的程序。

2025-09-20 09:59:53 1181

原创 立创EDA之GERBER解析

2025-09-10 17:27:02 187

原创 AutoCAD使用教程

1、选择AutoCAD经典。

2025-08-28 17:29:06 331

原创 FPGA学习

本文系统介绍了Verilog HDL硬件描述语言的核心语法,主要包括三个部分:1. 模块定义与实例化:阐述了模块的基本概念、命名规则、连接方式,以及assign连续赋值语句的使用。2. 数据类型与常量变量:详细讲解了wire和reg两种主要数据类型,以及整型、实数型、字符串型三种常量形式。3. 关键语句结构:重点分析了initial、always、function和task四种结构说明语句,说明了它们在时序逻辑、组合逻辑中的不同应用场景。文章还涵盖了运算符、块语句、条件循环语句等基础语法元素,为Verilo

2025-07-02 15:30:11 1147

原创 UC3842/UC3843反激教程教学开关电源 反激设计步骤,每一关键元器件计算

摘要:本文介绍了一款220VAC输入、12V/6A输出的隔离式反激开关电源设计。采用UC3843AN PWM控制芯片,详细阐述了反激拓扑结构原理、器件选型和变压器设计(原边86匝/副边7匝)。电路包含EMI滤波、RCD缓冲、TL431反馈等关键模块,开关频率65kHz,功率72W。重点说明了安全注意事项,强调制作高压电源需具备专业知识,并提供完整的原理图、PCB图、变压器参数和调试方法。该设计具有电路简单、成本低、隔离安全的优点,适用于小功率电子设备电源。

2025-06-27 19:38:56 3013

原创 用ESP8266+MQTT构建完全属于自己的物联网平台

《基于Arduino+ESP8266搭建私有物联网平台》摘要 本文详细介绍如何利用ESP8266开发板搭建完全自主可控的物联网系统。通过PicoMQTT库实现MQTT服务器功能,配合PubSubClient客户端库,构建不依赖第三方平台的局域网物联网解决方案。教程包含完整实施步骤:1) Arduino开发环境配置;2) MQTT Broker服务器程序烧写;3) 客户端设备连接配置;4) 安卓APP控制界面设置。系统支持LED状态同步控制,具有用户认证机制,可实现局域网内设备互联。若具备公网IP和动态域名,

2025-06-23 20:37:18 1156

原创 Arduino UNO R3板电路原理图+PCB文件

Arduino UNO R3板电路原理图+PCB文件

2025-06-23 19:56:07 1253

原创 开关电源计算辅助软件SMPSKIT V10.3

SMPSKIT V10.3是一款功能强大的开关电源设计辅助软件,主要特点包括:1)内置常见IC计算模块和磁芯数据库;2)提供变压器分层计算器和多种拓扑结构计算功能;3)支持用户自定义编程设计。使用注意事项:配置文件需存放在程序目录,公式编写限制每行不超过50个变量/运算符,总文本内容限制5000个变量/运算符。软件提供变量列表(如Po输出功率、Iin初级电流等)和语法检查功能,但用户需确保公式编写正确。压缩包内包含测试代码、帮助文档和相关图片资源,建议使用前详细阅读帮助文档。

2025-06-23 19:33:07 926

原创 stm32温湿度-超声波-LCD1602结合项目(Proteus仿真程序)

程序实现功能:程序基于stm32芯片实现了控制LED灯亮灭、按键控制、串口通信、电机控制、温湿度数据采集、超声波测距、LCD显示屏显示内容这几个功能,并用proteus8进行仿真。

2025-06-12 11:18:02 1286

原创 基于stm32风速风向温湿度和瓦斯检测(仿真+代码)

该环境监测系统具备风速、风向、温湿度及瓦斯检测功能,支持阈值报警设置,并通过云平台上传数据。系统采用DHT11温湿度传感器采集数据,通过STM32微控制器处理和OLED显示模块实时显示。程序包含传感器数据读取、阈值判断和显示驱动等功能模块,实现了环境参数的监测与报警。系统初始化后持续采集数据,当参数超过设定阈值时触发报警机制。

2025-05-29 00:11:32 440

原创 基于stm32LORA无线抄表系统仿真

本文介绍了一种基于LoRa无线通信的电力抄表系统。系统通过LoRa技术实现节点数据采集与传输,并在网关节点进行显示。

2025-05-29 00:00:21 318

原创 基于物联网的智能家居安全防护系统设计

1.单片机和app、OneNet云平台通过wifi进行通信2.马达模拟家里的用电设备,可通过按键开关3.可检测用电量,并显示在显示屏、app4.可检测空气质量,并显示在显示屏、app5.可检测烟雾浓度,并显示在显示屏、app6.可检测是否有人闯入,并显示在显示屏、app7.检测到烟雾浓度、空气质量超标时,蜂鸣器报警,并上报到app上,且自动打开风扇(马达)8.可通过语音和app控制风扇开关9.app上可设置烟雾浓度和空气质量报警阈值。

2025-04-25 22:41:06 1470

原创 基于STM32的温室环境智能调控系统仿真(仿真+代码)

1.单片机和app、OneNet云平台通过wifi进行通信2.可检测二氧化碳,并显示在app和显示屏3.可检测光照强度,并显示在app和显示屏4.可检测温湿度,并显示在app和显示屏5.可检测土壤湿度,并显示在app和显示屏6.自动模式下,co2、温湿度过高时风扇转动降温/除湿/通风7.自动模式下,土壤湿度过低时水泵转动进行灌溉8.自动模式下,温度过低时加热片工作进行加热9.自动模式下,光线较弱时亮灯进行补光10.自动模式下,光线过强时舵机转动进行遮光。

2025-04-25 22:30:01 899

Arduino DS3231 1602万年历源码与视频演示

Arduino DS3231 1602万年历源码与视频演示

2025-06-25

磁悬浮相关资料,基于arduino单片机,有原理图和源程序

磁悬浮PCB设计方案: 电源模块:5v加24v组合 电流驱动模块:贴片式L298 单片机选型:Atmega328p 运放:LM358 传感器:UGN3503 电源转换芯片:lm1117-5 线圈规格:800匝

2025-06-25

Arduino创意机器人设计教材

科技每时每刻都在悄然改变着我们的生活,机器人这个以前看似遥不可及的事物已经慢慢融入了我们的日常生活中。什么是机器人?什么是智能机器人?怎么学习机器人技术?在绪论部分,我们将了解机器人,理解机器人的几大主要组成部分以及它们的功能。 【任务导航】 认识机器人的几大主要组成部分及其功能。 了解机器人技术的发展。 【材料阅读】 1.什么是机器人? 机器人(Robot)这个词最早出现在上世纪初捷克科幻作家的一部叫做《罗索姆的万能机器人》的小说中,在原文里本来是写作“Robota”的,后来慢慢演变成了大家都接受的“Robot”一词。不过,大家可别被机器人这个名字所误导,认为机器人就一定长得和我们人类有几分相似。实际上,机器人的外表千奇百怪,很多和我们人类的外表没有半点相似性可言。那么机器人是如何定义的呢?科学家们说,“机器人是一种自动化的机器,能够依靠自身的动力和控制能力实现某种任务,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力等”。按照这个定义,我们日常生活中每天都接触到的很多机械设备,如:自动售货机、全自动洗衣机、自动取款机、甚至是红外感应的自动冲水马桶都能算是机器人了。看!机器人离我们的生活并不远,对吧? 而智能机器人比起一般的机器人来又进了一步。如果一个机器人能够利用传感器感知外部世界,然后依靠自身的智能对外界环境的变化做出反应,那么这种机器人就可以被叫做智能机器人了。

2025-06-25

Arduino + ESP8266构建物联网平台

博客介绍地址:https://blog.csdn.net/qq_35654286?spm=1011.2648.3001.5343 摘要 本文详细介绍如何利用ESP8266开发板搭建完全自主可控的物联网系统。通过PicoMQTT库实现MQTT服务器功能,配合PubSubClient客户端库,构建不依赖第三方平台的局域网物联网解决方案。教程包含完整实施步骤:1) Arduino开发环境配置;2) MQTT Broker服务器程序烧写;3) 客户端设备连接配置;4) 安卓APP控制界面设置。系统支持LED状态同步控制,具有用户认证机制,可实现局域网内设备互联。若具备公网IP和动态域名,

2025-06-23

Arduino UNO R3板电路原理图+PCB文件

Arduino UNO R3板电路原理图+PCB文件 博客地址:https://blog.csdn.net/qq_35654286/article/details/148853209?sharetype=blogdetail&sharerId=148853209&sharerefer=PC&sharesource=qq_35654286&spm=1011.2480.3001.8118

2025-06-23

SG3525车载功放升压电源板电路原理图

SG3525车载功放升压电源板电路原理图

2025-06-23

LM2596可调电压恒流输出电路原理图与PCB文件

本电路采用LM2596芯片,LM2596是降压型电源管理单片集成电路的开关电压调节器,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有3.3V、5V、12V,可调版本可以输出小于37V的各种电压。通过运算放大器来实现恒流输出。此电路所用电子元件都是常用的,制作简单

2025-06-23

UC3842/UC3843反激教程教学开关电源 反激设计步骤,每一关键元器件计算

博客介绍地址:https://blog.csdn.net/qq_35654286/article/details/148959652?sharetype=blogdetail&sharerId=148959652&sharerefer=PC&sharesource=qq_35654286&spm=1011.2480.3001.8118

2025-06-27

### 电力电子基于UC3842的小功率开关电源实训:反激变换器电路设计与调试

内容概要:本实训指导书旨在通过实际操作,帮助学生深入理解和掌握基于UC3842的小功率开关电源的设计、制作与调试。主要内容包括:1) 掌握反激变换器的工作原理;2) 学习UC3842的应用,尤其是电流模式PWM控制;3) 设计并绕制功率变压器;4) 学会调试和测试电路性能;5) 分析并排除电路故障。具体实训任务涉及制作一个输入电压为90VAC-264VAC、输出电压为5V、输出电流为4A、开关频率为65KHz的反激变换器电路,并确保输出电压稳定在5±2%V。此外,还详细介绍了UC3842的引脚功能及其电气特性,以及如何通过调整电路参数实现不同输出电压和其他性能优化。 适合人群:电子工程专业学生及初学者,特别是对开关电源设计感兴趣的读者。 使用场景及目标:① 学习反激变换器的工作原理和UC3842的应用;② 掌握开关电源的调试和测试方法;③ 提高分析和解决电路故障的能力;④ 实践中理解电流模式PWM控制的具体实现;⑤ 学习如何设计和绕制变压器。 其他说明:本指导书不仅提供了详细的理论知识和操作步骤,还鼓励学生进行电路拓展,如改变输出电压等级或多路输出,以增强对开关电源设计的全面理解。此外,附录中包含了UC3842的详细电气特性和管脚说明,有助于进一步深入了解该芯片的功能和应用。

2025-06-27

T12烙铁Arduino方案,程序电路图整套资料

T12烙铁Arduino方案,程序电路图整套资料

2025-06-25

PCA9685引脚图与16路舵机Arduino驱动源程序pdf资料

PCA9685引脚图与16路舵机Arduino驱动源程序pdf资料

2025-06-25

PID温控,max6675,加热棒Arduino源程序

关于硬件 mega2560,uno等avr开发板 max6675热电偶 12v40w加热棒 3d打印机 RAMPS1.4扩展板,这里主要用到场效应管来控制加热棒。 开发环境 arduino ide / vscode platformio 繁琐的公式需要”离散化“从而变成代码 pid算出数值,传入单片机定时器内产生脉冲控制加热棒 调试可以采用表格绘图来摸索

2025-06-25

ARDUINO 入门到精通24节课

下面开始编写程序,我们就让按键按下时小灯亮起,根据前面的学习相信这个程序很容易就能编写出来,相对于前面几个实验这个实验的程序中多加了一条条件判断语句,这里我们使用if 语句,Arduino 的程序便写语句是基于C 语言的,所以C的条件判断语句自然也适用于Arduino,像while、swich 等等。这里根据个人喜好我们习惯于使用简单易于理解的if 语句给大家做演示例程我们分析电路可知当按键按下时,数字7接口可读出为高电平,这时我们使数字11 口输出高电平可使小灯亮起,程序中我们判断数字7口是否为低电平,要为低电平使数字11 口输出也为低电平小灯不亮,原理同上。

2025-06-25

ESP8266 Nodemcu原理图

ESP8266 Nodemcu板的原理图,这里分享下T宝常见的两种板子原理图 1:D1 mini板,非常小巧的Nodemcu开发板,自动下载,适合开初学者,且是标准模块,可以兼容其他模块,这里给出CH340驱动的原理图 2:ESP8266 Nodemcu板,采用CP2102驱动芯片,自动下载功能,所有引脚都接出

2025-06-25

Arduino ps2手柄库PS2X-lib

可以使用ps2和兼容ps2手柄来控制程式,但要使用4个信号引脚

2025-06-25

NTC热敏电阻测温的Proteus仿真与Arduino源码

NTC热敏电阻测温的Proteus仿真与Arduino源码

2025-06-23

开关电源计算辅助软件SMPSKIT V10.3

博客地址:https://blog.csdn.net/qq_35654286/article/details/148852832?sharetype=blogdetail&sharerId=148852832&sharerefer=PC&sharesource=qq_35654286&spm=1011.2480.3001.8118 SMPSKIT : 内置一些常见IC的计算 内置绝大多数磁芯数据 内置变压器分层计算器 可用户编程功能 包含绝大多数拓扑的计算 不断修正的算法 请先阅读 SMPSKit帮助文档.chm 代码和编号都已经放在当前这个目录了,方便你使用,一次编辑一劳永逸 注意配置文件一定要放在程序当前目录下才可生效,程序已经自动生成了 20个文本,只需都对应的文本中写入你的公式和界面代码保存即可 另外补充说明: 1 编写代码的时候每一行的内容(变量和运算符)的个数不要超过50个,这50个 不是指字符的个数(字数),而是变量(系统约定的或者自定义的)和运算符, 比如 Vo 是两个字符,但是是一个变量,所以一般50个绰绰有余,再说写50个 这么长也没有必要,太长的公式最好定义临时变量。

2025-06-23

2KW正弦波逆变器PCB工程文件

2KW正弦波逆变器PCB工程文件

2025-06-23

ARDUINO+OLED中文显示温湿度

硬件连接方面,DHT11的数据引脚连接到Arduino的数字引脚2,OLED显示屏使用I2C接口连接(SDA接A4,SCL接A5)。功能描述:上电显示“温湿度系监测初始化中…………”如检温湿度传感器正常则直接跳到温湿度显示界面,如检测到温湿度传感器异常则一直停留在“传感器读取失败!”界面,直到传感器正常后才跳回到温湿度显示界面。

2025-06-23

中景园墨水屏2.13寸例程重写(STM32F103C8T6程序)

这个墨水屏出厂例程使用的是模拟SPI,在CPU占用过多的时候,模拟SPI刷新时会第一时间死机 新例程采用硬件SPI模式进行刷写,速度极快。

2025-06-23

基于STM32F103ZE+MPU6050+HMC5883L串口2输出欧拉角以及四元数,数据经融合校准,Z轴无漂移,内置串口1函数,可自己修改串口1输出角度

基于STM32F103ZE+MPU6050+HMC5883L串口2输出欧拉角以及四元数,数据经融合校准,Z轴无漂移,内置串口1函数,可自己修改串口1输出角度

2026-01-29

STM32F103配合Win上位机实现加解密程序+上位机(类似U盾原理)

上位机:远程解锁加密工具 v1.7.exe /****************************************************************************** 函数名称:读取芯片唯一ID码 备 注: ******************************************************************************/ unsigned char BFLASH[12]; //存放芯片ID的临时变量 void Get_ChipID(void) { u32 temp0, temp1, temp2; temp0 = *(__IO u32 *)(0x1FFFF7E8); //产品唯一身份标识寄存器(96位) temp1 = *(__IO u32 *)(0x1FFFF7EC); temp2 = *(__IO u32 *)(0x1FFFF7F0); //ID码地址: 0x1FFFF7E8 0x1FFFF7EC 0x1FFFF7F0 ,只需要读取这个地址中的数据就可以了。 BFLASH[0] = (u8)(temp0 & 0x000000FF); BFLASH[1] = (u8)((temp0 & 0x0000FF00) >> 8); BFLASH[2] = (u8)((temp0 & 0x00FF0000) >> 16); BFLASH[3] = (u8)((temp0 & 0xFF000000) >> 24); BFLASH[4] = (u8)(temp1 & 0x000000FF); BFLASH[5] = (u8)((temp1 & 0x0000FF00) >> 8); BFLA

2026-01-28

24bit ADC CS1237完整驱动源码,实测可用无bug,只需修改IO口定义

24bit ADC芯片 CS1237完整驱动,实测可用无bug,只需修改IO口定义、移植IO口拉高拉低函数、定时器函数即可使用,简单方便快捷。

2026-01-27

Proteus仿真基于STM32F103C8T6的WS2812彩灯控制系统程序(HAL库)

博客地址:https://blog.csdn.net/qq_35654286/article/details/157401308?sharetype=blogdetail&sharerId=157401308&sharerefer=PC&sharesource=qq_35654286&spm=1011.2480.3001.8118 WS2812是彩色LED,采用单总线通信方式,在应用中可以实现多级串联。WS2812的每颗灯珠内置了2811芯片的RGB灯珠。WS2812灯带上的每一个LED都能被单独精确控制,显示(8位*3)种颜色。本设计以STM32F103C8T6单片机为核心,结合外部按键及串口通信技术,构建了一套WS2812彩灯控制系统。 主要实现的功能如下: (1)设置有两组灯带,分别接到主控芯片的PB8和PB9。 (2)主控芯片外部设置三个按键,功能分别对应:开始、停止和模式切换。 (3)共计设置有五种彩灯显示模式,其中模式0和模式2是彩虹流水灯;模式1和模式3是单独颜色流水灯;模式4为多彩固定灯闪烁。 (4)每按下一次“模式切换”按键,在模式0到模式4之间循环。 (5)串口终端显示WS2812彩灯工作状态、显示模式等。

2026-01-26

JSP+mysql+Tomcat7.0图书管理系统详细设计说明书

2.2求概述 读者需求: (1)借阅功能:能够方便地借阅图书、归还图书 (2)查询功能: 1.按图书编号查找图书 2.按书籍名称查找图书 3.按书籍作者查找图书 4.能够按照自己的图书证编号查询自己的状态信息 管理员需求: (1)用户注册功能:能够对新的用户进行登记或注销用户的信息 (2)图书录入功能:能够方便的对图书进行录入登记,注销陈旧的书籍

2025-09-19

51单片机+安卓手机APP 通过WIFI控制LED资源包,包含程序,原理图

51单片机+安卓手机APP 通过WIFI控制LED资源包,包含程序,原理图

2025-09-20

51单片机+TEA5767+12864+DS1302+DS18B20+PT2257+TDA2822M的FM收音机

大体描述下: 1、TEA5767模块,没有采用网络流传的收台方法,我是直接按PLL步进的方式手动收台,估计是最精准的方式了。没有加入自动收台功能。 2、12864点阵屏,ST7920控制,使用了自定义字符(天线、摄氏度)。按键开启背光,10秒无动作自动关闭。 3、DS1302/DS18B20,网络流传的控制程序。 4、PT2257调音,I2C控制,多级音量控制。 5、TDA2822M,双声道模式,但是只用了一个扬声器(1W)。可外接功放(不通过调音器,降噪) 6、按键,采用中断扫描的方式,4键,长按短按区分。 7、电台存储15个,断电自动记忆上次使用的频道。使用内部EEPOM。 8、电源使用DC12V变压器,内部组合为7808和78M05。 9、控制器:STC12C5608AD

2025-09-20

一种利用串口51单片机远程升级 OTA

博客介绍地址:https://blog.csdn.net/qq_35654286/article/details/151892622?sharetype=blogdetail&sharerId=151892622&sharerefer=PC&sharesource=qq_35654286&spm=1011.2480.3001.8118 OTA主要就三部分,一个是load程序,一个是应用程序,还有带升级的程序,三个分别存储在不同地址 1,bootload程序设计,程序功能主要是判断有没有升级标志,有升级标志把APP2的文件拷贝到APP1,然后跳转到app1位置运行。如果没有升级标志直接跳转到app1. keil中设置1,BL51 locate 启动文件 ?C_C51STARTUP(0x6100) 需要特殊放置,这样才能保证每次启动后跳转的位置准确; 设置2,target EProm 0x6000; 2,应用程序 APP1设计,程序功能主要实现我们自己产品功能,以及接收保存远程发过来的程序。 keil中设置1,BL51 locate 启动文件 ?C_C51STARTUP(0x1000) 需要特殊放置,这样才能保证每次启动后跳转的位置准确; 设置2,target EProm 0x0; 这样就可以确保每次程序跳转正确。关键的在这里,因为每次要先运行bootload 所以需要在0x0 位置 跳转到bootload地址是0x6100,再有boot程序跳转到我们的0x1000 这样成正常运行,看起来很复杂,其中只有两个关键地址,0-->0x6100 -->0x1000 , 就这两步骤。

2025-09-20

stm32加湿器模拟 Proteus仿真程序设计

stm32加湿器模拟 Proteus仿真程序设计

2025-09-20

最新的三菱软件卸载工具

三菱GX Work2卸载后重装,打开软件会提示内存不足等故障,显示储存器空间不足的故障, 用这个工具卸载后再重装,就不会出现这些提示故障

2025-09-20

单片机可控硅移相控制交流电原理 带源程序

可控硅移相控制交流电原理: 工作原理:我们知道220V市电的频率是50HZ,周期就是20ms,上下半波各占10ms,所以我们想对交流电进行控制的话, 在交流电每次过零点的时候,在0-10ms之间内做个延时,比如在交流每次过零点后延时3ms,3ms后触发可控硅的导通就行。 改变延时的时间即可改变负载得到的电压大小。 本电路有2种触发方式,一种利用RC充放电实现的控制,这种控制是使可控硅工作在2、3象限。另外一种是利用MOC3021实现控制,使可控硅工作在1、3象限。

2025-09-20

STM32音乐频谱资料

STM32音乐频谱资料

2025-09-20

STM32单片机usb模拟键盘发送字符,关机指令

STM32单片机usb模拟键盘发送字符,关机指令

2025-09-20

基于STM32F103ZET6实现按键短按、长按检测

基于STM32F103ZET6实现按键短按、长按检测

2025-09-19

基于STM32的温度和超声波测距

博客介绍地址:https://blog.csdn.net/qq_35654286/article/details/124163761?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522eb020154146409b4bd509c811c578177%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=eb020154146409b4bd509c811c578177&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124163761-null-null.nonecase&utm_term=%E5%9F%BA%E4%BA%8ESTM32%E7%9A%84%E6%B8%A9%E5%BA%A6%E5%92%8C%E8%B6%85%E5%A3%B0%E6%B3%A2%E6%B5%8B%E8%B7%9D&spm=1018.2226.3001.4450 一、项目功能概述 1、采用DS18B20测量温度并显示 2、采用HC-SR04超声波测距并显示

2025-07-09

基于stm32电压采集仿真

博客介绍地址:https://blog.csdn.net/qq_35654286/article/details/124146453?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522ee89425bac8837ae5ff6cf75a9b3ffd7%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=ee89425bac8837ae5ff6cf75a9b3ffd7&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124146453-null-null.nonecase&utm_term=%E7%94%B5%E5%8E%8B%E9%87%87%E9%9B%86&spm=1018.2226.3001.4450

2025-07-09

基于STM32的DHT11仿真

博客介绍地址:https://blog.csdn.net/qq_35654286/article/details/124145535?ops_request_misc=%257B%2522request%255Fid%2522%253A%25223fb3fca430f9d05f26b65a9d9245473b%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=3fb3fca430f9d05f26b65a9d9245473b&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-124145535-null-null.nonecase&utm_term=DHT11&spm=1018.2226.3001.4450 一、项目功能概述 1、显示采集的DHT11温湿度 2、串口打印数据信息 3、OLED液晶屏上显示数据

2025-07-09

基于STM32的可调时钟仿真

博客地址:https://blog.csdn.net/qq_35654286/article/details/124143258?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522ab32727e87557bcccca693b3ec7f2050%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=ab32727e87557bcccca693b3ec7f2050&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124143258-null-null.nonecase&utm_term=%E5%8F%AF%E8%B0%83%E6%97%B6%E9%92%9F&spm=1018.2226.3001.4450

2025-07-09

UC3843大电流输出数控可调开关电源设计

随着电子技术的飞速发展,人们的工作,生活不能没有电子技术。电力是一个不可或缺的电子产品。利用现代电子技术数控开关电源是一种维持稳定输出电压的电源。本文使用UC3843芯片设计开关电源,介绍了高频变压器的选择,数模转换芯片AD558及存储芯片24C02的工作原理。系统由主电源、辅助电源,主控制电路、数模转换电路、恒定电压电路,恒定电流电路、显示电路等部分构成,能输出0V-30V电压范围,每次调节为0.1V的直流电源。最大输出电流为3A。 开关电源是先进高科技领域内电子设备的源动力,有电子设备心脏的称号,由开关电源提供动力,以保障电子设备的质量和可靠性。电子制造业中电源产业不可忽视,得利于新技术,开关电源正飞速向前发展。 对现代电力电子的发展主要是由开关电源(全称是开关电源)和线性电源(称为晶体管线性稳压电源),其中开关电源以功率损耗小、体积小型、重量轻盈、工作效率高效的优势近乎席卷了电子界。电子设备对供电源的要求越来越高,开关电源在满足体积、重量、效率、功耗等优点,开关电源的可靠性变的越来越重要。 开关稳压电源取代线性电源已有多年的历史。最早出现的是类似线性电源的串联型开关电源,此电源功率晶体管工作在开关状态。然后,脉冲宽度调制(PWM)控制技术uyoule。然后,PWM开关电源,是一个脉冲宽度调制控制开关变换器。。全球能源危机,人们将目光转向PWM开关电源。后来发生了20KHz革命,用工作频率在20KHz的脉宽调制开关电源替代工频的线性电源。 随着超大规模集成电路的发展,电源的尺寸相比微处理器要大得多。各种科技前沿的电子设备需要更小更轻的电源。因此对开关电源的提出了小型轻量要求,它包括电容和磁性元件的体积重量要小。开关电源的各方面性能要提高。 早期主要采用开关电源的工作频率低于20kHz(大功率晶体管,功率晶体管GTR)。然后用新的电源开关,储能装置

2025-06-27

基于stm32的计算器仿真(8.11proteus版本)

博客介绍地址:https://blog.csdn.net/qq_35654286/article/details/124152454?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522de27803d0f637bf507c30a3bb69c788d%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=de27803d0f637bf507c30a3bb69c788d&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-124152454-null-null.nonecase&utm_term=%E8%AE%A1%E7%AE%97%E5%99%A8&spm=1018.2226.3001.4450

2025-07-01

空空如也

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

TA关注的人

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