自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二十三、【ESP32全栈开发指南:搞懂ESP32双核,别让另一半CPU摸鱼好吗?】

ESP32双核架构解析与并行编程实战 摘要:本文深入解析ESP32 Xtensa LX6双核架构,揭示Core 0(协议核)与Core 1(应用核)的差异化分工

2025-12-22 10:09:01 804

原创 单体架构详细解析:从概念到实践--购物网站搭建

单体架构是将所有功能模块集成在一个单一部署单元中的传统架构模式。其核心特征包括单一代码库、统一部署、共享数据库、进程内调用和技术栈统一。典型的三层结构分为表现层(处理HTTP请求)、业务逻辑层(实现核心功能)和数据访问层(封装数据库操作)。

2025-12-19 11:15:25 511

原创 C++核心编程:从内存模型到对象封装

内存模型、引用、函数特性和类与对象。程序内存分为全局区、栈区、堆区和代码区,各有特点和使用注意事项。引用作为变量别名,在函数参数传递中比指针更安全高效。函数特性包括默认参数和重载,提高了代码灵活性。类和对象通过封装实现数据与行为的绑定,访问权限控制和属性私有化增强了安全性。struct与class的主要区别在于默认访问权限。这些特性共同构成了C++面向对象编程的基础。

2025-12-08 10:13:37 851

原创 STM32通信协议全解析:UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet

本文系统梳理了STM32开发中常用的UART、I2C、SPI等通信协议的技术要点。UART采用异步全双工串行总线,I2C为双向两线式同步总线,SPI则是全双工四线式总线。通过对比表格分析了各协议在通信方式、信号线数量等维度的差异。此外还介绍了RS232/485、CAN、USB等接口标准,以及DMA、以太网等关键技术。内容涵盖硬件接口、帧结构、电气特性和典型应用场景,为开发者建立清晰的通信协议知识体系提供了实用参考。

2025-10-14 15:43:20 1648

原创 硬件基础深度解析(二):电容——电路中的“水池”与“稳定器”

对于硬件工程师而言,透彻地理解电容,远不止于知道它的符号和容量值,而是要洞悉其物理本质、掌握其复杂特性,并能在纷繁复杂的实际应用中做出最精准的选择。本文旨在带领您进行一次电容的深度探索之旅,从最基本的物理原理,到关键参数的深入解读,再到各种介质电容的优劣分析,最后落脚于电路设计中的实战应用与选型指南。当我们用导线连接两个极板时,储存的电荷会寻求中和,形成电流,这就是放电过程。由于电容“隔直流、通交流”的特性,前级的有用交流信号可以无损(在容抗足够低的工作频率下)地传递到后级,而两级的直流工作点被完全隔离。

2025-10-13 09:46:50 706

原创 硬件基础深度解析(一):电阻——电路世界中无处不在的基石

在浩瀚的电子世界,如果说芯片是大脑,电容是水库,那么电阻就是无处不在的“交通警察”和“限流阀”。它平凡、普通,几乎出现在每一块电路板上,却又至关重要,决定了电路的“行为举止”。在一个固定水压(电压)下,水管越细、阀门关得越小(电阻越大),水流(电流)就越小。0Ω电阻并非绝对为0,通常有几十毫欧的阻值,且有其额定电流限制,选择时需要注意。这种碰撞会消耗电子的动能,并将其转化为热能,这就是电阻发热的原因。0欧姆电阻,顾名思义,标称阻值为0Ω,但它绝不是一根简单的导线。通常有三个引脚,两个固定端,一个滑动端。

2025-10-09 16:27:33 896

原创 嵌入式分层架构下的AT指令模块设计与实现

本文介绍了一种基于STM32微控制器的低耦合、高可移植性AT指令模块设计方案。系统采用分层架构,分为硬件抽象层(HAL)、驱动层和应用层三层结构,通过函数指针和结构体实现面向接口编程。硬件抽象层提供统一的UART操作接口,驱动层实现AT指令解析逻辑,应用层处理业务功能。该设计通过接口抽象降低了模块间的耦合度,提高了代码可维护性和跨平台移植性,适用于各类嵌入式通信模块开发。

2025-08-27 17:30:35 357

原创 GD32和STM32的区别在哪里?

STM32与GD32嵌入式芯片对比分析

2025-08-26 14:53:44 984

原创 STM32学习笔记:深入浅出解析CAN总线

STM32还有哪些工业级通信协议值得学习?据2023年汽车电子报告,单辆燃油车平均搭载。:终端电阻仅加在总线两端的收发器上!发送ID=0x101(显性)发送ID=0x102(隐性)检测到显性位,退出仲裁。

2025-06-20 10:47:39 1582

原创 STM32学习笔记:SPI接口使用

SPI协议核心解析与STM32应用指南 SPI通信采用四线制架构(SCK/MOSI/MISO/NSS),支持4种时钟模式(Mode0-3),不同外设需匹配特定模式。

2025-06-18 11:21:57 1476

原创 STM32学习笔记:IIC接口使用深度解析

本文深入解析了STM32中IIC总线的应用与优化,涵盖硬件配置和软件模拟两种实现方式。从IIC协议的核心原理出发,详细介绍了物理层规范、时序配置方法以及STM32硬件IIC的寄存器设置技巧。文章还提供了软件模拟IIC的关键代码实现,并通过SHT30传感器和AT24C256 EEPROM的实际案例展示应用方法。

2025-06-18 11:05:47 1597

原创 二十二、【ESP32全栈开发指南:SNTP网络校时】

摘要:本文详细解析了SNTP协议的工作原理及其在ESP-IDF中的实现特性。主要内容包括:1)SNTP的客户端-服务器模型和时间校正计算;2)ESP-IDF提供的API接口及新增功能;3)基础应用实现流程,包括初始化配置和回调处理;4)高级功能扩展,如自动时区设置、时间戳转换和低功耗模式下的时间同步方案。文章为嵌入式系统的时间同步提供了完整的技术参考和实现指导,涵盖了从基础应用到高级功能的开发要点。

2025-06-17 10:47:01 1228

原创 二十一、【ESP32全栈开发指南:MQTT客户端】

本文详细解析了MQTT协议及其在ESP32平台上的实现。第一部分介绍了MQTT的发布/订阅模型、低带宽消耗等核心特性,以及ESP-MQTT库的自动重连、SSL认证等增强功能。第二部分说明v5.1+版本的API变更,包括配置结构体优化和关键API更新。第三部分展示了增强型客户端实现,涵盖系统架构设计、初始化流程和事件处理机制,提供代码示例说明MQTT客户端的配置、启动和消息处理过程。全文通过技术细节和实现代码,帮助开发者深入理解MQTT协议并高效应用于物联网项目。

2025-06-17 10:35:39 1047

原创 二十、【ESP32全栈开发指南:OTA(空中升级)接口使用(原生API)】

ESP32 OO ESP32支持通过Wi-Fi进行OTA固件升级,提供原生API(app_update)和简化API( Substation)两种实现方式。关键/filesystem包含Factory、 negative业OTA分区和otadata分区,实现双和他的滚动++ 升级。核心API包括esp_ota_begin()、esp_ota_write()、作曲可能等++ 及esp_ota_set_boot_partition()。

2025-06-16 11:39:29 2230

原创 十九、【ESP32全栈开发指南——NVS(非易失性存储)接口使用】

ESP32的NVS(非易失性存储)库是专为在SPI Flash中存储键值对数据设计的核心组件。它支持整数、字符串和二进制数据,采用命名空间隔离数据,具有磨损均衡和掉电安全特性。主要API包括初始化(nvs_flash_init)、擦除(nvs_flash_erase)、打开命名空间(nvs_open)和读写操作。适用于存储配置参数、Wi-Fi凭证等中小规模数据,但不适合大文件存储。使用时需注意分区管理,修改分区表后需擦除Flash。

2025-06-16 11:26:27 1575

原创 十八、【ESP32全栈开发指南: SPI接口深度使用】

摘要: ESP32的SPI开发涉及主机/从机模式配置,需注意控制器选择(HSPI/VSPI引脚固定或可配)、时钟模式匹配及DMA优化(4字节对齐,最大4096字节传输)。主机模式需初始化总线、添加设备并处理同步/异步传输;从机模式需配置接口并接收数据。关键配置包括SPI模式一致性验证、DMA缓存对齐及多设备总线冲突管理(互斥锁)。开发中建议使用ESP-IDF驱动框架的事务队列机制,并针对SPI Flash等外设进行协议适配。通过分段传输处理大数据,确保稳定通信。

2025-06-12 10:03:51 1054

原创 十七、【ESP32全栈开发指南:ADC接口使用】

ESP32 ADC使用指南 摘要: ESP32内置两个12位SARADC模块,提供18个模拟输入通道(ADC1 8通道、ADC2 10通道)。使用需注意ADC2与Wi-Fi的硬件冲突,以及特定GPIO的限制条件。核心功能包括:配置采样位宽(9-12位)、设置电压衰减(0.8V-2.6V量程)、获取原始值并通过校准转换为实际电压。关键API涉及adc1_config_width()、adc1_get_raw()及esp_adc_cal_characterize()等。

2025-06-12 09:31:55 1038

原创 十六、【ESP32全栈开发指南:I2C接口详解及BH1750传感器实战】

I2C(Inter - Integrated Circuit)是飞利浦公司开发的一种串行通信总线,采用双线制设计,这一设计使得它在众多通信总线中脱颖而出,以简洁的线路实现了高效的数据传输。:I2C总线需要外接4.7KΩ上拉电阻,这是因为I2C总线采用开漏输出结构,上拉电阻可以将总线拉高到电源电压,保证在没有设备拉低总线时,总线处于高电平状态,从而实现数据的正确传输。7位地址可以支持127个不同的从设备,而10位地址则可以支持更多的从设备,满足了不同规模系统的需求。

2025-06-11 09:55:17 1694

原创 十五、【ESP32全栈开发指南: LEDC PWM呼吸灯实现详解】

ESP32 LEDC模块为LED调光和PWM信号生成提供硬件支持。主要特性包括16个独立通道(8高速+8低速)、13位高分辨率控制、硬件渐变功能和多时钟源选择。通过核心API实现:1)定时器配置(ledc_timer_config)设定频率和分辨率;2)通道绑定(ledc_channel_config)关联GPIO;3)渐变控制(ledc_fade_*系列函数)实现硬件级呼吸灯效果。典型应用如3000ms渐变呼吸灯仅需三步:配置定时器、设置通道、启动非阻塞渐变,全程零CPU占用。

2025-06-11 09:37:07 1890

原创 十四、【ESP32全栈开发指南:搭建轻量级HTTP服务器】

ESP-HTTP-Server开发指南 本文介绍了基于ESP32的HTTP服务器开发要点: HTTP协议基础 解析HTTP请求/响应结构,包含请求行、请求头、请求体三部分 常见状态码含义和使用场景

2025-06-10 10:35:56 950

原创 十三、【ESP32开发全栈指南:HTTP客户端使用详解】

本文介绍了ESP32在物联网应用中通过ESP-IDF框架实现HTTP/HTTPS通信的方法。内容涵盖基础配置、API使用、HTTPS加密、POST请求及性能优化技巧,并提供了获取天气API数据的实战案例。

2025-06-10 09:33:43 1781

原创 STM32学习笔记: ADC与DAC开发实战指南

本文详细介绍了STM32中的ADC和DAC模块应用。首先解析了ADC(采样-保持-量化-编码)和DAC(电阻网络转换)的工作原理及关键参数,包括分辨率、转换时间和量化误差。其次阐述了STM32硬件架构配置要点,如ADC的通道管理、触发源设计,以及DAC的波形生成模式。核心部分通过代码实例展示了ADC多通道扫描+DMA传输的实现,以及DAC正弦波发生器的开发方法。最后提出一个闭环温控系统综合案例,并给出性能优化建议和故障排查方案。

2025-06-09 10:09:49 1419

原创 十二、【ESP32全栈开发指南: IDF开发环境下cJSON使用】

本文介绍了JSON在ESP32开发中的应用,重点讲解了cJSON库的使用方法。主要内容包括:1)JSON的基本语法规则和数据类型;2)如何在ESP-IDF环境中集成cJSON库;3)通过代码示例详细展示JSON数据的生成与解析过程;4)内存管理和错误处理的最佳实践。

2025-06-09 09:42:55 2163

原创 STM32学习笔记:定时器(TIM)原理与应用(详解篇)

本文详细介绍了STM32通用定时器的工作原理和应用开发。

2025-06-07 16:01:28 1006

原创 STM32学习笔记:外部中断(EXTI)原理与应用详解

STM32外部中断(EXTI)开发指南:本文详细介绍了STM32的外部中断机制,包括其工作原理和配置方法。

2025-06-07 15:51:41 1246

原创 十一、【ESP32开发全栈指南: TCP通信服务端】

通过合理设计和优化,ESP32 TCP服务器可以满足各种物联网应用的通信需求,提供稳定可靠的数据传输服务。

2025-06-07 15:25:47 1115

原创 十、【ESP32开发全栈指南: TCP客户端】

通过本指南,您将掌握ESP32 TCP客户端开发的完整流程,从基础连接到高级优化,满足各类物联网应用的通信需求。:OTA固件升级(TCP)、传感器数据上报(UDP)、远程控制(TCP)

2025-06-07 15:12:05 1352

原创 九、【ESP32开发全栈指南: UDP通信服务端】

应用层Socket APIlwIP协议栈ESP-NETIFWiFi/ETH驱动lwIP轻量级TCP/IP栈核心文档头文件:AppSocketNetworksocket()bind()recvfrom()UDP数据包接收数据sendto()发送响应loop[数据交换]close()AppSocketNetwork4.2 代码实现4.3 关键配置项menuconfig 设置:AP模式初始化:五、模式对比与选择特性Station模式AP模式网络角色连接现有WiFi自

2025-06-07 15:07:22 1061

原创 八、【ESP32开发全栈指南:UDP客户端】

ESP32 UDP客户端实现指南 本代码实现了一个完整的ESP32 UDP客户端,包含WiFi连接和UDP通信功能。

2025-06-07 14:46:35 624

原创 七、【ESP32开发全栈指南:ESP32 IDF SmartConfig 技术深度解析】

由 TI 首创并由乐鑫在 ESP32 实现优化。其核心价值在于解决无输入接口设备的联网难题。:生产环境务必启用加密,密钥需在设备出厂时烧录至NVS,并与配网APP同步。设置ESPTOUCH_DONE_BIT。初始化WiFi Station模式。SmartConfig 本质是。创建SmartConfig任务。设置CONNECTED_BIT。监听SC_EVENT。配置WiFi连接参数。

2025-06-07 14:12:45 1607

原创 六、【ESP32开发全栈指南:深入解析ESP32 IDF中的WiFi AP模式开发】

文中提供了完整的代码示例,涵盖从基础配置到客户端管理的全流程实现。

2025-06-06 20:30:01 1800

原创 五、【ESP32开发全栈指南:深入解析ESP32 IDF中的WiFi STA模式开发】

本文详细介绍了ESP32在ESP-IDF框架下的WiFi STA模式配置与优化方法。

2025-06-06 20:16:40 893

原创 四、【ESP32开发全栈指南:ESP32 IDF串口开发全解析】

本文代码在ESP32-S3(IDF v5.1)实测通过,满足工业级应用需求。避免使用GPIO9/10(UART1默认引脚),否则可能导致Flash通信冲突。附录:关键问题解决方案(表格增强版)串口在ESP32开发中的核心地位。五、调试专题(新增实战案例)二、ESP32串口硬件基础。四、高级应用(深度扩展)六、扩展应用(新增项目)

2025-06-05 14:56:10 1309

原创 三、【ESP32开发全栈指南:ESP32高分辨率定时器接口使用】

本文介绍了ESP32中的esp_timer库,作为FreeRTOS软件计时器的高分辨率替代。esp_timer利用64位硬件计时器,提供微秒级精度和一次性及周期性计时器功能

2025-06-04 17:22:34 888

原创 二、【ESP32开发全栈指南:ESP32 GPIO深度使用】

以下是一篇针对ESP32开发者的GPIO技术指南,包含按键输入检测、LED输出控制

2025-06-04 10:27:19 1459

原创 一、【ESP32开发全栈指南:Windows平台ESP32开发环境搭建】

本文介绍了ESP32开发环境的搭建流程。首先需要准备ESP32开发板、Type-C数据线和电脑。环境搭建分为四步:1)删除旧配置并下载ESP-IDF工具;2)安装ESP-IDF离线开发包;3)在VSCode中配置Espressif IDF插件;4)完成插件配置。最后通过构建和烧录测试验证环境是否搭建成功。整个过程需要注意避免使用中文路径及特殊符号,最终成功完成环境配置即可进行开发。

2025-05-27 11:59:55 956

原创 学好电路设计是硬件工程师的核心能力之一,需要系统的理论学习、实践积累和持续迭代。通过以下路径,结合至少3-5个完整项目经验,高效掌握电路设计技能;

模拟电路:深入理解放大器(共射/共源/差分)、滤波器、振荡器、电源电路(LDO、Buck/Boost)的设计原理。数字电路:掌握组合逻辑(门电路、编码器)、时序逻辑(触发器、计数器)、接口协议(SPI/I2C/UART)。仿真工具:LTspice(电源仿真)、ADS(射频电路)、Cadence Sigrity(信号完整性)。PCB设计:高速布线规则(阻抗匹配、蛇形走线)、EMC优化(地平面分割、屏蔽设计)。进阶学习功率器件(IGBT、SiC/GaN)和射频器件(LNA、PA)的特性。

2025-04-24 15:08:05 430

原创 程序员职业发展方向梳理,结合行业趋势与典型路径,覆盖技术、管理、跨界等六大核心方向

路径:初级开发 → 高级开发 → 技术专家(如Java/Python领域专家) -技能:深入掌握至少一门编程语言(Java、Python等),同时熟悉前后端技术栈(如Spring全家桶、React/Vue框架)。

2025-04-18 10:10:00 978

原创 Linux系统编程基础:信号操作实战

信号是Linux系统中用于进程间通信的一种重要机制。通过signal()kill()和sigwait()等函数,我们可以方便地处理信号、向进程发送信号以及设置更详细的信号处理函数。希望本文能帮助你更好地理解Linux信号操作,并在实际编程中灵活运用。

2024-12-16 09:28:26 917

原创 Linux应用开发八股文(四) 信号

信号是Linux系统中用于进程间通信的一种机制。信号可以看作是操作系统向进程发送的消息,用于通知进程发生了某个特定的事件。本文将介绍Linux应用开发中与信号处理相关的常用函数、参数以及定时器和信号集的使用。

2024-12-13 15:14:24 677

空空如也

空空如也

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

TA关注的人

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