自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 I²C总线原理与工程实践:从物理层到多设备通信

I²C(Inter-Integrated Circuit)是一种广泛应用于嵌入式系统的同步、半双工、多主从串行总线协议,其核心价值在于以极简的两线结构(SCL/SDA)实现多设备寻址通信。它基于开漏输出与上拉电阻构成的线与逻辑,支持硬件地址识别、主从仲裁和重复起始等关键机制,显著降低PCB布线复杂度与GPIO资源占用。相比UART点对点连接和SPI固定主从架构,I²C在板级短距、中低速、成本敏感场景中具备独特优势,尤其适用于传感器、EEPROM、RTC等外设互联。本文深入解析I²C物理层电气特性、帧结构时序

2026-02-06 16:45:22 452

原创 MSP432按键消抖与GPIO驱动原理详解

按键检测是嵌入式人机交互的基础技术,本质是将机械开关的瞬态抖动信号转化为确定性数字事件。其核心原理涉及物理层抖动特性(5–20ms)、电气接口设计(上拉/下拉配置)和软件滤波机制。技术价值在于保障输入可靠性,避免误触发导致的状态紊乱或系统异常。典型应用场景包括电赛小车模式切换、工业设备本地控制及低功耗终端按键唤醒。本文聚焦MSP432P401R平台,深入剖析GPIO寄存器级初始化、低电平有效电路匹配、延时与状态机两种消抖实现,并强调硬件协同(如限流电阻计算、电源噪声抑制)对工程落地的关键影响。

2026-02-06 16:42:02 506

原创 嵌入式Linux开发主机选型指南:CPU内存存储三大核心配置

嵌入式Linux开发本质上是面向交叉编译、虚拟化运行与构建缓存的资源密集型工程活动。其底层依赖于宿主机的并行计算能力(如多核编译)、内存带宽与容量(支撑虚拟机+Yocto/Buildroot缓存)、以及高IOPS存储(加速小文件读写)。CPU需优先满足逻辑核心数≥8以适配`make -jN`和`bitbake`并行调度;内存须保障16GB以上以规避OOM与Swap抖动;而NVMe SSD已成为不可替代的性能基线,显著缩短Yocto首次构建等I/O密集任务耗时。该技术范式广泛应用于ARM嵌入式系统开发、物联网

2026-02-06 16:36:40 461

原创 从VL812芯片引脚布局,揭秘高速USB3.0集线器的硬件设计哲学

本文深入解析VL812芯片引脚布局,揭示高速USB3.0集线器的硬件设计精髓。从电源管理、信号完整性到散热设计,详细探讨如何优化VL812芯片性能,确保USB3.0集线器在高速数据传输中的稳定性和效率,为硬件工程师提供实用设计指南。

2026-02-06 15:15:49 121

原创 STM32F103裸机GPIO库:寄存器映射与原子置位复位实现

GPIO(通用输入输出)是嵌入式系统中最基础的外设接口,其本质是通过内存映射寄存器对MCU引脚进行电平控制。理解其工作原理需掌握时钟使能、寄存器结构体映射、BSRR/BRR原子操作等核心机制。这类底层驱动不依赖HAL或标准库,具备零开销、高实时性与强可追溯性,广泛应用于工业控制、传感器采集和资源受限的RTOS环境。本文围绕STM32F103平台,详解RCC时钟配置、GPIO寄存器结构体定义、引脚宏封装及GPIO_SetBits/GPIO_ResetBits函数的裸机实现,覆盖从硬件地址绑定到板级验证的完整工

2026-02-06 15:14:51 19

原创 MSP432P401R串口通信实战:UART2硬件配置与中断驱动设计

串口通信(UART)是嵌入式系统中最基础的异步全双工通信协议,其核心原理基于起始位、数据位、校验位和停止位构成的帧结构,依赖精确的波特率时钟同步实现可靠收发。在资源受限的微控制器如MSP432P401R中,UART不仅承担调试输出功能,更深度参与实时控制闭环、多模块协同与故障诊断等关键任务。技术价值体现在低开销、高确定性及硬件级中断支持,广泛应用于智能车、工业传感器节点与边缘设备通信场景。本文聚焦MSP432P401R平台下UART2的工程落地,覆盖5V电平兼容方案、SMCLK时钟校准、环形缓冲中断驱动架构

2026-02-06 14:44:15 451

原创 STM32增量式PID电机转速闭环控制实战

PID控制是运动控制系统中最基础且广泛应用的反馈调节技术,其核心在于通过比例、积分、微分三部分协同实现对被控量(如电机转速)的动态跟踪与稳态补偿。增量式PID因其天然抗积分饱和、支持无扰切换和便于执行器限幅等工程优势,成为嵌入式实时控制场景下的首选实现形式。结合正交编码器测速与PWM驱动,可构建高精度、强鲁棒性的转速闭环系统,广泛应用于智能小车、机器人底盘、工业伺服等场景。本文以STM32平台为载体,详解从编码器信号采集、转速量化、增量式PID算法实现到定时器中断调度的完整链路,涵盖结构体设计、抗饱和处理、

2026-02-06 14:43:43 440

原创 从零构建多传感器时间同步系统:硬件选型、接线实战与避坑指南

本文详细介绍了从零构建多传感器时间同步系统的完整流程,重点解析硬件选型、接线实战与常见问题解决方案。针对激光雷达、IMU等传感器,深入探讨硬件同步与软件同步的实现方式,提供GPS模块选择、电平转换、连接器类型等实用指南,帮助开发者规避同步误差和信号干扰问题,确保高精度时间同步。

2026-02-06 14:31:34 82

原创 microROS在嵌入式世界的桥梁作用:连接FreeRTOS与ROS2的架构解析

本文深入解析microROS如何作为关键桥梁连接FreeRTOS实时操作系统与ROS2生态系统,重点探讨其在STM32等嵌入式平台上的架构集成、资源优化及DMA传输实践,为开发高性能嵌入式机器人系统提供技术指导。

2026-02-06 14:30:55 117

原创 DSDL语言革命:用声明式数据描述重塑嵌入式通信设计范式

DSDL(声明式数据描述语言)通过声明式语法定义数据结构,自动生成序列化、反序列化及验证代码,重塑嵌入式通信设计范式。结合UAVCAN协议和libcanard库,在STM32F407等嵌入式平台上实现高效、可靠的多供应商协作开发,显著提升开发效率和系统兼容性。

2026-02-06 14:20:19 103

原创 从零构建ADC驱动:STM32F103结构体参数背后的设计哲学与实战陷阱

本文深入探讨STM32F103 ADC驱动的构建,重点解析ADC_InitTypeDef结构体各参数的设计逻辑与实战陷阱。涵盖时钟配置、模式选择、触发同步、数据校准及DMA优化等关键环节,帮助开发者规避常见错误,实现精准可靠的数据采集。

2026-02-06 14:15:29 125

原创 OpenMV视觉开发:Python嵌入式图像处理与LAB阈值调优

嵌入式图像处理是智能硬件实现视觉感知的核心技术,其本质是在资源受限环境下完成图像采集、色彩空间转换、二值化分割与目标识别。基于MicroPython的OpenMV平台将底层寄存器操作封装为高级API,显著降低开发门槛;而LAB色彩空间因其感知均匀性,成为工业级阈值设定的首选模型——相比RGB,它使同色系像素在L/A/B三维空间中高度聚集,大幅提升抗光照干扰能力。本文聚焦OpenMV工程实践,详解Python内存约束下的高效编码、手动阈值系统化调试方法、脱机调参交互设计及串口通信可靠性保障,覆盖从算法原理到竞

2026-02-06 14:13:17 506

原创 MSP432 ADC工程实践:从光电传感器采集到串口调试

模数转换(ADC)是嵌入式系统感知物理世界的核心技术,其本质是将连续模拟电压信号量化为离散数字值。实现高可靠ADC采集需深入理解采样保持、参考电压选择、时钟同步与抗干扰设计等底层原理。技术价值体现在高精度传感、低功耗监测与实时闭环控制等关键能力,广泛应用于环境监测、工业测控和智能硬件等领域。本文以TI MSP432微控制器为平台,聚焦光电电阻(LDR)传感器接口设计与14位ADC模块的全流程工程化配置,涵盖引脚复用、时钟使能、参考电压切换、中断驱动采样及UART串口数据回传等实战要点,并融入ADC校准、滑动

2026-02-06 14:08:11 538

原创 CAN FD与经典CAN的进化之路:数据帧扩容背后的工程权衡

本文深入探讨CAN FD协议相对于经典CAN的演进,重点分析数据帧从8字节扩容至64字节背后的工程权衡。通过对比CAN FD在速率切换、CRC校验增强及电磁兼容性等方面的关键技术突破,为工程师提供网络升级与优化的实践参考,助力提升汽车电子与工业控制系统的通信性能。

2026-02-06 14:06:13 82

原创 Linux文件系统结构解析:从Ubuntu到嵌入式开发

Linux文件系统是基于‘一切皆文件’核心理念构建的标准化资源抽象模型,通过虚拟文件系统(VFS)统一管理设备、进程、内核参数等异构资源。其分层目录结构遵循FHS规范,保障跨发行版兼容性与可移植性,在嵌入式Linux开发中尤为关键。/bin、/sbin、/etc、/dev、/proc、/sys等关键路径分别承担系统启动、配置管理、设备抽象和运行时控制等技术价值,支撑Yocto、Buildroot等构建系统的可靠裁剪与部署。理解各目录的设计意图与生命周期约束,是实现稳定固件、避免重启丢数、保障安全隔离的工程基

2026-02-06 13:49:13 500

原创 智能车角度闭环控制:从PID设计到卡尔曼滤波实现

角度闭环控制是移动机器人姿态调节的核心技术,本质是基于反馈误差的伺服调节系统,其原理依赖于外环(角度)与内环(速度)协同的串级PID架构。该技术显著提升系统抗干扰性与响应解耦能力,在智能车原地转向、路径跟踪等场景中不可或缺。工程落地需攻克三大关键:高精度姿态感知(如MPU6050+卡尔曼滤波)、物理约束下的PID参数整定(尤其Kp/Kd物理意义与限幅设计),以及差速运动学映射的正确性。本文围绕STM32嵌入式平台,详解从传感器融合、角度环PID实现、双环时序协同到典型问题排查的全链路实践。

2026-02-06 13:45:44 495

原创 从零搭建智能盆栽系统:硬件选型与传感器融合实战

本文详细介绍了基于STM32单片机从零搭建智能盆栽系统的硬件选型与传感器融合实战方案。涵盖核心控制器选型、温湿度/土壤湿度/光照传感器接口设计、信号调理抗干扰技术、执行机构驱动电路以及WiFi通信模块集成,为嵌入式开发者和物联网爱好者提供完整的系统实现指南。

2026-02-06 13:42:17 73

原创 从算法调度到场景感知:Android Camera功耗优化的多维策略演进

本文探讨了Android Camera功耗优化的多维策略演进,从基础算法调度到先进的场景感知技术。通过CPU频率调节、隔帧处理和应用差异化优化等手段,显著降低Camera子系统功耗,提升移动设备续航能力。重点介绍了基于机器学习的预测性功耗管理,实现智能资源分配和能效优化。

2026-02-06 13:40:34 136

原创 深入解析蓝桥杯单片机外设驱动:从寄存器操作到高级应用

本文深入解析蓝桥杯单片机外设驱动开发,从寄存器操作基础到DS1302、DS18B20、PCF8591等高级应用实践。详细探讨时序控制、BCD码转换、I2C通信等核心技巧,并提供驱动优化与系统集成方案,助力开发者构建稳定高效的嵌入式竞赛系统。

2026-02-06 13:33:10 93

原创 从JFET到MOSFET:半导体场效应管的演进史与技术分水岭

本文深入探讨了从JFET到MOSFET的半导体场效应管技术演进,重点分析了MOSFET在输入阻抗、集成密度和数字电路应用方面的革命性突破。作为现代集成电路的基石,MOSFET技术彻底改变了电子系统设计范式,并在单片机系统和功率管理等领域发挥关键作用。

2026-02-06 13:32:58 129

原创 STM32标准工程结构与外设初始化全解析

嵌入式软件工程的核心在于可维护、可移植、可复用的系统架构。硬件抽象层(HAL)通过统一接口封装寄存器操作,使不同MCU平台(如STM32与MSP432)的外设驱动具备高度一致性;其底层依赖CMSIS标准定义的内核与外设寄存器映射,确保跨平台迁移的可行性。在此基础上,外设初始化遵循严格时序链路:先使能RCC时钟,再配置GPIO模式与速度,最后初始化功能寄存器,任一环节缺失均导致功能失效。这种‘时钟→引脚→外设’三级初始化模型,是实时控制系统(如电赛智能车)稳定运行的技术基石,广泛应用于电机控制、传感器采集及通

2026-02-06 13:29:46 539

原创 从零构建:用Qt和SocketCAN打造你的第一个汽车仪表盘模拟器

本文详细介绍了如何使用Qt框架和SocketCAN技术从零构建汽车仪表盘模拟器。通过环境配置、CAN总线通信基础、UI设计、数据解析到高级功能优化的完整流程,帮助开发者掌握车辆网络通信和图形界面开发,实现实时可视化车辆数据,适用于汽车电子和嵌入式开发学习与实践。

2026-02-06 13:29:26 85

原创 Allegro 16.6 封装艺术:从规范到创意的设计思维之旅

本文探讨了Allegro 16.6封装设计如何将工程规范与设计美学完美融合。通过Pad Designer工具的精妙运用,详细解析了焊盘设计、封装架构、丝印系统等核心要素,展示了如何在遵循IPC标准的同时注入创意,实现功能性与视觉美感的和谐统一。

2026-02-06 13:27:43 80

原创 ESP32S3多传感器数据流:基于GATT Server的动态资源分配与释放策略

本文探讨了ESP32S3在多传感器数据流场景下,基于GATT Server的动态资源分配与释放策略。通过优化服务表(Service Table)管理、实现I2C与BLE的协同处理,以及采用动态任务池和内存泄漏检测机制,有效提升了资源利用率和系统稳定性,为物联网设备开发提供了实践指导。

2026-02-06 13:23:46 24

原创 从零到一:避开数学陷阱,用MPU6050和Arduino打造你的第一个体感控制器

本文介绍如何避开复杂数学公式,使用MPU6050传感器和Arduino快速构建体感控制器。通过简化的数据融合方法和互补滤波技术,实现二维云台的精准控制,适合创客和电子爱好者入门实践。

2026-02-06 13:22:34 91

原创 STM32电机转速PID闭环控制实战指南

PID控制是一种经典且鲁棒的反馈控制方法,广泛应用于电机转速、温度、位置等物理量的闭环调节。其核心原理是通过比例(P)、积分(I)、微分(D)三项协同作用,对误差信号进行实时运算,实现动态响应优化与稳态精度提升。在嵌入式系统中,PID具有计算开销低、不依赖精确数学模型、抗扰性强等显著技术价值,特别适合资源受限的STM32平台。典型应用场景包括智能小车速度巡航、工业直流电机调速、无人机云台稳定等。本文聚焦电机转速闭环,深入解析PID参数的物理意义、定点化实现、编码器同步采样及电赛级工程整定策略,覆盖从控制理论

2026-02-06 12:57:44 476

原创 STM32+L298N直流电机PWM驱动与HAL库实现

PWM(脉宽调制)是一种通过调节信号占空比控制模拟量输出的基础数字控制技术,其核心原理是利用高速开关的平均效应等效调节功率。在嵌入式电机控制中,PWM通过改变高电平持续时间比例,实现无级调速与高效能量转换,兼具响应快、精度高、硬件成本低等优势。该技术广泛应用于智能小车、机器人执行机构及工业驱动系统,尤其适配STM32等具备专用定时器外设的微控制器。结合L298N双H桥驱动芯片,可完成方向切换、刹车制动与软启动等关键功能,满足全国电子设计竞赛等工程实践对实时性、鲁棒性与可调试性的综合要求。

2026-02-06 12:49:30 419

原创 STM32软件模拟I²C驱动SSD1306 OLED显示设计

OLED显示是嵌入式人机交互的基础技术,其核心依赖于I²C通信协议与SSD1306控制器的协同工作。I²C协议通过开漏输出与上拉电阻实现多设备共享总线,而软件模拟I²C则在资源受限、抗干扰要求高的场景(如电子设计竞赛)中展现出更强的可控性与容错能力。相比硬件I²C,软件模拟支持任意GPIO引脚、便于逻辑分析仪调试,并能规避总线锁死等现场常见故障。结合SSD1306初始化时序、电荷泵使能、内存寻址模式等关键配置,可构建稳定可靠的显示驱动层。该方案广泛适用于STM32F1系列等Cortex-M3微控制器,在智能

2026-02-06 12:41:34 434

原创 STM32定时器本质:16位可编程计数器原理与配置

定时器在嵌入式系统中常被误解为单纯的时间延迟工具,但其底层本质是可编程计数器——一种对时钟脉冲进行累加、比较与触发响应的硬件模块。其工作原理依赖于时钟源、预分频器(PSC)和自动重装载寄存器(ARR)三者协同:PSC决定计数节奏,ARR定义周期边界,而影子寄存器保障参数更新的原子性。这一机制不仅支撑精准定时,更是PWM生成、输入捕获、编码器测速等高级功能的统一基础。在STM32F103等主流MCU中,所有定时器(TIM1–TIM8)均遵循该计数器模型,仅通过寄存器配置差异实现功能分级。理解‘定时器即计数器’

2026-02-06 12:38:07 418

原创 STM32串口波形可视化PID实时调参系统

PID控制是嵌入式运动控制系统的核心算法,其参数整定质量直接决定动态响应、稳态精度与抗扰能力。理解PID的数学形式(位置式/增量式)、掌握参数的物理意义(如Kp主控稳定性、Ki主导收敛速度、Kd抑制超调与噪声),是高效调参的前提。在资源受限的MCU(如STM32F103)上,需兼顾实时性与通信可靠性:采用独立定时器触发等间隔采样、int16_t紧凑数据封装、中断式串口发送,并匹配上位机(如山外调参助手)的通道配置与字节序。该轻量级串口波形调试方案无需示波器硬件,支持多通道同步观测,广泛应用于智能车、机器人、

2026-02-06 11:54:09 514

原创 STM32八路灰度循迹系统设计与PID控制实现

灰度循迹是智能车控制系统的核心感知环节,本质是将光学反射差异转化为可计算的位置偏差信号。其原理基于红外反射率变化引发的电平跳变,但受环境光、安装高度、赛道材质等干扰,原始信号存在显著噪声与边界模糊问题。因此,可靠循迹依赖动态阈值校准、中值滤波等预处理技术,并需将离散通道状态映射为连续重心位置,作为闭环控制的量化输入。在此基础上,PID算法通过比例响应速度、积分消除稳态偏移、微分抑制超调,实现鲁棒差速控制。本文聚焦STM32平台下的硬件接口配置(如浮空输入、端口寄存器直读)、灰度数据预处理及实战级PID参数整

2026-02-06 11:52:15 464

原创 嵌入式Linux开发必学:Makefile原理与实战

Makefile是嵌入式Linux构建系统的核心基础,本质是一种基于文件时间戳的依赖管理机制,用于实现增量编译与自动化构建。其原理源于对源文件、头文件及目标文件间依赖关系的显式建模,通过规则(Rule)、变量(Variable)和伪目标(Phony Target)三要素支撑复杂BSP工程的可重复、可移植构建。技术价值体现在显著缩短固件迭代周期、保障跨平台交叉编译一致性,并为CMake等现代构建系统提供底层语义基础。典型应用场景涵盖Linux内核模块编译、STM32/ESP32固件构建、HAL驱动集成及GDB

2026-02-06 11:35:00 544

原创 STM32驱动MPU-6050六轴IMU姿态解算全流程

惯性测量单元(IMU)是机器人、无人机和智能穿戴设备中实现姿态感知的核心传感器;其原理基于加速度计与陀螺仪的物理响应特性,通过I²C等数字接口获取原始数据,并依赖精确的时序控制、寄存器配置与零偏校准保障精度。技术价值体现在高动态响应、低延迟及嵌入式实时性优势,广泛应用于运动控制、平衡系统与导航定位等场景。本文聚焦MPU-6050在STM32平台上的硬件连接规范、中断驱动数据采集、角速度积分与互补滤波融合等关键实践环节,深入解析I²C通信配置、陀螺仪零偏漂移抑制及欧拉角解算误差控制等高频工程问题。

2026-02-06 10:37:07 400

原创 MPU6050加速度计角度测量原理与工程实现

加速度计是惯性姿态感知的基础传感器,其核心原理是通过检测重力在三轴上的投影分量来解算俯仰角(Pitch)和滚转角(Roll)。在静态或准静态条件下,该方法提供高精度、无漂移的绝对角度参考;但受运动加速度干扰,动态场景下需与陀螺仪融合以兼顾稳定性与响应性。MPU6050作为典型MEMS六轴传感器,支持I²C通信、可配置量程(±2g/±4g等)及数字滤波,广泛应用于智能车、无人机等嵌入式姿态控制系统。本文围绕重力矢量分解、寄存器配置、浮点计算优化、卡尔曼滤波融合及现场抗干扰实践展开,覆盖从物理建模到STM32实

2026-02-06 10:29:38 572

原创 STM32增量式编码器正交解码与高精度测速实战

增量式编码器是电机闭环控制中获取速度反馈的核心传感器,其通过A/B两相正交方波输出实现方向判别与四倍频计数。原理上依赖相位差构成状态机,将脉冲沿计数转化为转速物理量;技术价值在于高分辨率、强抗干扰性及软硬件协同优化潜力。典型应用场景涵盖智能车竞赛、机器人轮式底盘、工业伺服前端测速等对实时性与精度要求严苛的嵌入式系统。本文围绕STM32F103平台,深入剖析正交解码的GPIO/EXTI配置策略、中断时序防护、状态机消抖、定时器测速基准构建及串口可视化调试全流程,重点解决启停抖动、高速计数丢失、多任务数据竞争等

2026-02-06 10:21:44 528

原创 智能车电机驱动系统工程选型与抗干扰设计

电机驱动系统是嵌入式运动控制的核心执行环节,其本质是电能与机械能高效、可控转换的机电接口。基于永磁直流有刷电机(PMDC)的典型架构,系统需兼顾电气特性匹配、闭环感知精度与电源完整性。霍尔与GMR编码器分别代表鲁棒性与高分辨率的技术路线,而TB6612FNG等双H桥驱动芯片则承担数字控制信号到模拟功率输出的关键转换。在电池供电、多级稳压、地平面分割及信号链EMC设计约束下,供电架构与硬件连接直接影响PID控制稳定性与长期运行可靠性。本文聚焦全国大学生电子设计竞赛等真实工程场景,详解MG310电机、GMR编码

2026-02-06 09:30:49 565

原创 Linux磁盘管理:设备识别、挂载与fdisk分区实战

在Linux系统中,磁盘管理是连接硬件与文件系统的底层技术核心,涉及设备抽象、文件系统挂载、空间监控与分区操作等关键环节。其原理基于内核块设备层(block layer)与VFS虚拟文件系统协同工作,通过/dev设备文件实现‘一切皆文件’的统一访问接口。技术价值在于保障存储可靠性、规避挂载异常、支撑嵌入式固件升级与日志采集等工程场景。典型应用包括U盘/SD卡在Ubuntu及STM32/ESP32嵌入式Linux中的识别、UTF-8中文路径挂载、df/du空间分析、fdisk分区与mkfs.vfat格式化等。

2026-02-06 09:09:57 461

原创 Termux开发者的效率突围:如何用脚本自动化解决aapt2重复替换难题

本文针对Termux环境下Android开发中aapt2重复替换的兼容性问题,提供了自动化脚本解决方案。通过实时监控Gradle缓存目录并自动替换为Termux兼容的aapt2版本,有效解决了因架构差异导致的构建失败问题,显著提升移动开发效率。

2026-02-06 01:45:48 153

原创 DMA与CPU的协奏曲:深入STM32F407 HAL库的串口效率革命

本文深入探讨了STM32F407微控制器中DMA与CPU的协同工作机制,重点分析其在串口通信中的效率优化。通过HAL库实战配置和性能量化对比,展示了DMA模式如何大幅降低CPU占用率和系统功耗,特别适用于便携式医疗设备等低功耗应用场景。

2026-02-06 01:41:36 123

原创 从零到一:用MATLAB和开源代码搭建你的第一个视觉伺服机器人

本文详细介绍了如何利用MATLAB和开源代码从零开始搭建视觉伺服机器人系统。通过机器人建模、图像处理和控制算法集成,帮助初学者掌握视觉伺服控制技术,实现机器人的环境感知与实时运动调整,适用于教育和DIY项目开发。

2026-02-06 01:38:12 13

JS数组方法组合使用[项目源码]

本文详细介绍了JavaScript中数组的常见方法(如map、filter、forEach、reduce等)的单独使用及组合应用。单独使用时,map用于映射操作,filter用于过滤元素,forEach用于遍历,reduce用于累积操作。组合使用时,展示了多种方法如何协同工作,例如使用map和filter筛选并处理数据,使用reduce和Object.assign将数组转换为对象等。此外,还介绍了利用map返回值实现的简便写法,如将字符串数组转换为数字数组。这些方法能显著提升代码的简洁性和效率,适合开发者在实际项目中灵活运用。

2026-01-30

SVG导入导出攻略[项目源码]

本文详细介绍了前端开发中SVG图片的导入导出全流程,包括四种将外部图片塞进SVG的方法、SVG导出成PNG/JPEG的七步操作、常见问题排查及实用技巧。内容涵盖从基础概念到实战操作,适合开发者收藏并逐步实践。文章还提供了浏览器兼容性解决方案和性能优化建议,帮助开发者高效完成SVG相关需求。

2026-01-29

泛微OA禁止手动提交方案[项目代码]

本文介绍了泛微OA系统中禁止手动提交的两种方案。第一种方案通过JavaScript脚本实现,使用WfForm.registerCheckEvent函数注册提交和保存事件的检查,当用户尝试手动提交时,会显示提示信息。提示信息可以通过WfForm.showMessage函数自定义,包括信息内容、类型和显示时间。第二种方案通过WfForm.controlBtnDisabled函数实现,可以控制表单顶部按钮和右键菜单的置灰状态,从而禁止用户操作。这两种方案可以有效防止用户手动提交表单,确保数据的准确性和流程的规范性。

2026-01-28

20行Java贪吃蛇游戏[代码]

这篇文章介绍了一个仅用20行JavaScript代码实现的贪吃蛇游戏,展示了代码的精简与高效。作者通过简单的代码示例,演示了如何利用基本的HTML和JavaScript功能创建一个可玩的贪吃蛇游戏。游戏逻辑包括蛇的移动、食物生成、碰撞检测等核心功能,全部压缩在极少的代码行数中。文章还提供了具体的操作指南,指导读者如何将代码保存为HTML文件并运行游戏。最后,作者鼓励读者在评论区分享其他令人惊艳的编程代码示例,促进技术交流与讨论。

2026-01-28

JS飘窗功能实现[源码]

本文详细介绍了如何使用JavaScript实现网页飘窗功能。通过HTML和JavaScript代码的结合,创建了一个可移动的飘窗元素,包含关闭按钮和自适应页面大小的功能。代码中定义了AdMove对象,用于控制飘窗的移动轨迹、速度和方向,同时处理页面滚动和窗口大小变化事件。飘窗内容为空时会自动隐藏,确保页面整洁。此外,还提供了事件监听和移除的方法,增强了代码的健壮性和可维护性。

2026-01-28

JS面试题100道[源码]

本文整理了100道JavaScript经典面试题,涵盖了数据类型、变量声明、作用域、闭包、原型链、事件处理、异步编程等核心知识点。内容详细解析了null与undefined的区别、==与===的差异、Hoisting机制、this关键字指向规则、Promise用法、深拷贝与浅拷贝实现等高频考点,并提供了事件委托、防抖节流、模块化等进阶技术的解释。每道题均包含简明答案,适合开发者系统复习JS基础与高级特性,帮助应对技术面试中的常见问题。

2026-01-28

JS函数this指向详解[项目代码]

本文详细讲解了JavaScript中函数this指向的各种情况,包括普通函数、对象方法、构造函数、箭头函数等不同场景下的this指向规则。文章通过代码示例展示了this在非严格模式和严格模式下的不同表现,以及如何通过bind、call、apply方法改变this指向。同时,文章还对比了普通函数和箭头函数在this指向上的区别,并提供了自测题帮助读者巩固理解。对于想要深入理解JavaScript中this机制的开发者来说,这是一篇非常有价值的参考资料。

2026-01-28

JS动态修改伪元素content值[项目代码]

本文介绍了如何使用JavaScript动态修改CSS伪元素:before和:after的content属性值。通过结合HTML5的data-*属性、CSS的attr()函数以及JavaScript操作DOM属性,实现了动态更新伪元素内容的效果。具体步骤包括:为元素添加data-content-before和data-content-after属性,在CSS中使用content: attr()获取这些属性值,最后通过JavaScript获取并修改这些属性值。文章提供了完整的代码示例,展示了如何创建一个带有动态伪元素内容的box元素,并详细说明了每个步骤的实现原理。这种方法可以灵活地控制伪元素的显示内容,适用于需要动态更新界面元素的场景。

2026-01-28

Qt安装包下载指南[代码]

本文提供了Qt安装包和源码的全国下载网址备忘录,用户无需注册Qt账户即可下载各版本Qt。文章列出了Qt官网的原网址和新网址,以及多个国内镜像站点,包括腾讯、北京理工学院、清华大学和中国科学技术大学的镜像链接。此外,作者还提供了个人联系方式和技术分享的博客地址,方便读者获取更多项目和技术支持。

2026-01-02

防火墙配置指南[项目源码]

本文详细介绍了防火墙的基本工作机制、安全区域划分、安全策略配置以及初始接入互联网的步骤。防火墙作为网络安全设备,通过隔离不同安全级别的网络来保护内网安全。文章首先解释了防火墙与路由器、交换机的区别,强调了防火墙的控制特性。接着,详细说明了如何通过安全区域和安全策略实现流量控制,包括接口与安全区域的关联、安全策略的组成及配置方法。此外,文章还提供了防火墙初始配置的详细步骤,包括设备连线、Web界面登录、三层和二层接入配置等。最后,简要介绍了高级配置的概览,如其他接口及安全区域的配置、NAT策略等,为读者提供了全面的防火墙配置指导。

2026-01-01

MySQL5.6升级5.7指南[代码]

本文详细介绍了MySQL数据库从5.6版本升级到5.7版本的两种主要方法:Inplace本地升级和Mergeing迁移升级。Inplace升级适用于同一台服务器,通过备份数据、部署高版本实例、测试后迁移业务的步骤完成;Mergeing升级则适用于不同服务器,通过逻辑备份或主从同步实现数据迁移。文章还强调了升级注意事项,包括仅支持GA版本间升级、建议逐步跨版本升级、需提前规划回退方案等。此外,提供了完整的5.6到5.7本地升级案例,涵盖初始化安装、配置文件修改、数据迁移、权限表升级等具体操作步骤,并附有详细的命令行操作示例和配置文件内容,为数据库管理员提供了实用的升级参考。

2025-12-31

IP纯净度检测网站推荐[可运行源码]

本文介绍了六款用于检测IP纯净度的实用工具,帮助用户识别黑IP、机房IP或高危IP。IPinfo.io提供详细的IP地理位置、ASN、ISP及黑名单检查;Whoer.net支持代理检测和匿名度评分;Scamalytics专注于识别恶意IP和诈骗活动;IP111.cn是国内工具,支持国内外IP检测及封禁识别;IPjiance.com提供IP全面分析,包括地理位置和滥用行为检查;iplocation.net则通过多数据源查询IP位置和网络提供商。这些工具适用于网络安全专家和普通用户,确保上网安全。

2025-12-31

MySQL5.7升级8.0详解[项目源码]

本文详细记录了从MySQL5.7升级到MySQL8.0的全过程,包括升级前的准备工作、升级步骤、遇到的问题及解决方案。文章首先介绍了升级的背景和需求,然后详细说明了升级前的检查工作,如使用MySQL Shell的util.checkForServerUpgrade工具进行兼容性检查。接着,文章详细描述了备份数据、停止数据库、下载并安装MySQL8.0的步骤,以及修改配置文件以适应新版本的注意事项。最后,文章分享了升级后的验证步骤和系统配置调整,确保数据库正常运行。整个过程严谨且详细,为需要升级MySQL版本的用户提供了实用的参考。

2025-12-31

STM32传感器数据采集系统[项目源码]

本项目设计了一个基于STM32F103RCT6微控制器的传感器数据采集系统,通过RS485接口和Modbus RTU协议实现传感器数据的实时采集与传输。系统硬件包括STM32开发板、多种传感器模块及RS485转USB模块,软件部分采用Qt开发环境构建上位机界面,支持实时数据显示、历史数据记录及故障监测报警功能。项目详细介绍了系统架构设计、环境搭建注意事项、数据采集模块的初始化与传感器数据读取代码实现,以及上位机模块的Qt界面设计、数据接收解析与报警功能实现。整体系统实现了从传感器数据采集到上位机处理的全流程,适用于环境监测、工业控制等场景。

2025-12-30

SpringBoot+Vue实验室预约系统[项目代码]

本文详细介绍了基于SpringBoot和Vue框架开发的实验室预约管理系统的设计与实现。系统主要面向学生和管理员两种角色,实现了任务领取管理、实验室预约管理等核心功能。后端采用SpringBoot框架简化开发流程,前端使用Vue实现交互界面。开发环境包括Java 1.8、MySQL 5.7数据库、Tomcat服务器等。系统具有功能全面、操作简便、安全性高等特点,采用MVC架构实现前后端分离。文章还详细阐述了系统开发中使用的关键技术,包括Java语言的面向对象特性、SpringBoot框架的简化配置优势以及MySQL数据库的高效性能。最后,作者分享了系统测试方法和项目总结,指出该系统具有良好的可维护性和可扩展性,适合作为高校实验室管理的解决方案。

2025-12-30

Kettle变量传参方法[源码]

本文详细介绍了在ETL工具Kettle中如何通过变量进行参数传递的具体步骤。首先,作者通过创建示例表movies和ods_movies来建立数据基础,然后逐步演示了如何在Kettle中新建转换、设置时间变量、配置表输入和输出,以及如何通过变量传递参数。文章特别强调了替换SQL语句中变量的重要性,并提供了完整的操作流程,包括新建作业、执行作业和查看数据库结果。最后,作者总结了变量的基础使用方法,旨在帮助读者掌握Kettle中变量传参的核心技巧。

2025-12-30

Jupyter插件安装指南[项目源码]

本文详细介绍了安装Jupyter扩展插件的步骤及常见问题的解决方案。首先提供了通过pip安装jupyter_contrib_nbextensions和jupyter_nbextensions_configurator的命令,并指出了可能出现的报错信息。针对报错信息,文章分析了核心问题是由于notebook模块的nbextensions组件缺失或版本不兼容,并提供了详细的解决步骤,包括彻底卸载并清理现有环境、安装兼容版本的notebook、重新安装扩展组件以及验证安装。此外,文章还讨论了JupyterLab与Jupyter Notebook的版本冲突问题,并给出了两种解决方案:保留JupyterLab并升级Notebook到7.x版本,或卸载JupyterLab以保留Notebook 6.x和旧扩展。最后,文章提供了验证操作的方法,确保安装成功。

2025-12-30

Jupyter Notebook操作指南[项目源码]

本文详细介绍了Jupyter Notebook的基本操作和快捷键使用。首先讲解了如何通过终端命令启动和关闭Jupyter Notebook,包括安全关闭和强制关闭的方法。其次重点列出了命令模式和编辑模式下的核心快捷键,如单元格操作(插入、删除、转换类型)、代码编辑(补全、注释、撤销)和运行控制等功能。最后还提供了一些特殊操作技巧,如恢复关闭的标签页、查看所有快捷键和中断运行的方法。文章特别提示所有快捷键需在命令模式下使用,并为Mac用户提供了按键替换说明。

2025-12-30

Docker常用命令指南[项目代码]

本文详细介绍了Docker服务及容器的常用操作命令。对于Docker服务,包括启动(systemctl start docker)、守护进程重启(systemctl daemon-reload)、服务重启(systemctl restart docker/service docker restart)以及关闭(docker service docker stop/docker systemctl stop docker)。对于Docker容器,涵盖了启动(docker start 容器ID或容器名)、关闭(docker stop/kill 容器ID或容器名)和重启(docker restart 容器ID或容器名)等操作,并解释了stop与kill命令的区别,stop允许容器在指定时间内保存状态,而kill则直接关闭容器。此外,还介绍了restart命令的使用及其参数-t的作用,为Docker用户提供了实用的操作参考。

2025-12-28

Docker命令大全[项目源码]

本文提供了一份详尽的Docker常用命令速查手册,涵盖了镜像管理、容器操作、网络配置、数据卷、日志监控、系统清理等全场景高频命令。手册适合不同层次的用户,包括开发者、运维人员、学习者和DevOps工程师,旨在帮助用户快速掌握Docker核心指令,提升工作效率。内容包含基本命令、镜像管理指令、容器管理指令、数据管理与卷指令、网络配置指令、安全与维护指令以及其他更多指令,每个命令都附带简洁说明和实用示例,适合零基础用户阅读,也可作为老手的备忘录随时查阅。

2025-12-28

跟老杨学java系列前传[代码]

本文是《跟老杨学java系列》的前传,作者老杨是一位拥有近20年IT开发经验的资深程序员,涉猎广泛但自谦为‘样样通,样样松’。他提到近年来国内程序员普遍存在项目经验不足、代码不规范等问题,出于培养软件人才的理想,决定推出这一系列文章。文章将采用‘PNP训练法’,即通过项目驱动的方式,深度融合知识点与项目经验,帮助读者从技术小白成长为合格的程序员。作者幽默风趣,文章风格轻松,旨在提供实用的学习路径。

2026-02-08

SpringBoot宠物电商系统[项目代码]

本文介绍了一个基于SpringBoot和Vue的宠物用品电商系统,旨在为宠物主人提供一站式购物体验。系统采用B/S架构,前端使用Vue,后端采用SpringBoot,数据库使用MySQL。主要功能包括用户注册登录、商品搜索与分类、购物车管理、订单处理、在线留言等。后台管理模块涵盖用户管理、商品管理、公告发布、订单处理等。系统设计注重用户体验,实现了从选品到售后评价的完整闭环。开发环境包括IDEA/Eclipse、MySQL 5.7/8.0、Navicat、JDK1.8和Tomcat7.0。该系统为计算机专业毕业设计项目,提供了完整的源码、数据库和论文支持。

2026-02-06

网页截图功能实现[代码]

本文详细探讨了如何在现代Web应用中实现网页截图功能,包括截取整个页面和指定区域的技术方法。文章首先介绍了使用HTML5的Canvas元素实现当前页面截图的原理和步骤,包括创建Canvas元素、获取页面尺寸、绘制页面内容到Canvas以及导出图片。接着,文章讲解了如何截取指定区域的HTML内容,重点在于获取目标元素的位置和尺寸信息,并将其绘制到Canvas上。此外,文章还介绍了使用第三方库如html2canvas和jspdf来简化截图过程,并提供了相应的代码示例。最后,文章总结了实现截图功能时需要注意的兼容性和性能问题,帮助开发者选择合适的技术方案,提升用户体验。

2026-02-04

JS对象深浅拷贝[源码]

本文详细介绍了JavaScript中对象的深浅拷贝原理及实现方法。浅拷贝通过创建新对象复制基本类型值,但对于引用类型仅复制内存地址,导致修改会影响原对象。文中列举了四种浅拷贝方法:Object.assign、扩展运算符、concat和slice,并分析了它们的局限性。深拷贝则完全复制对象,包括嵌套引用类型,实现内存分离。文章介绍了JSON.stringify的简单深拷贝方法及其局限性,并提供了基础版和改进版的手写递归实现,后者通过Reflect.ownKeys、WeakMap等技术解决了不可枚举属性、Symbol类型、循环引用等问题,展示了更全面的深拷贝解决方案。

2026-02-03

GSAP实现滚动卡屏[源码]

本文介绍了如何使用GSAP(GreenSock Animation Platform)实现网页滚动时的卡屏效果。通过CSS设置不同屏幕区域的高度和背景颜色,结合GSAP的ScrollTrigger插件,控制元素在滚动过程中的动画效果。具体实现包括:定义三个屏幕区域(screen1、screen2、screen3),并在screen2中放置多个绝对定位的元素(pic1-pic7)。通过GSAP的时间轴动画,这些元素在滚动时会从不同方向移动,形成动态视觉效果。代码示例展示了如何配置ScrollTrigger的触发条件、动画效果及元素的初始和结束状态。

2026-02-03

enquire.js教程[源码]

enquire.js是一个用于处理CSS媒体查询的JavaScript库,特别适合响应式设计。它允许开发者根据不同的屏幕尺寸或设备类型执行特定的JavaScript代码,从而提供定制化的用户体验。本文介绍了enquire.js的基本使用方法,包括安装、注册媒体查询以及在不同屏幕尺寸下执行代码的示例。此外,还提供了应用案例和最佳实践,如响应式导航栏和图片切换,并探讨了如何与其他前端框架(如Bootstrap、React和Vue.js)结合使用,以增强前端应用的响应性和用户体验。

2026-02-03

RK3568设备树与驱动开发[源码]

本文详细介绍了在RK3568平台上进行设备树配置与字符设备驱动开发的完整流程。主要内容包括:1) 设备树节点创建与属性配置,重点解析了of_match_table匹配机制及reg属性地址映射;2) LED驱动程序设计,涵盖GPIO寄存器操作、字符设备注册及用户空间交互;3) 系统启动问题排查,如根文件系统挂载失败与设备树节点未生效的解决方案;4) 开发环境配置与编译烧写步骤。通过实际操作演示了从设备树修改、驱动编写到应用测试的全过程,为嵌入式Linux开发提供了实用参考。

2026-02-03

C# WPF运动控制平台[可运行源码]

本文介绍了如何使用C# WPF和固高GTS800运动控制卡搭建一个运动控制测试平台,模拟小车取料、打包和贴标签的过程。文章详细讲解了前期准备、WPF项目框架搭建、C#代码实现运动逻辑等步骤,包括如何设计界面、编写控制代码以及绘制小车运动轨迹。此外,作者还提供了详细的教程,帮助爱好者从编写思路开始,逐步实现整个平台。

2026-02-03

网易云轮播图实现[项目代码]

本文详细介绍了如何使用JavaScript和CSS实现类似网易云音乐的轮播图效果。文章首先阐述了实现思路,包括利用JS定时器控制图片切换、CSS的transform和transition实现动画效果,以及通过z-index调整图片层级。接着,作者逐步展示了HTML结构、CSS样式和JavaScript代码的实现过程,涵盖了自动轮播、鼠标悬停暂停、点击箭头切换以及悬浮点快速跳转等功能。最后,文章提供了完整的代码示例,并提醒读者注意图片路径和悬浮点数量的匹配问题。

2026-02-03

PHP中文乱码解决[项目代码]

本文探讨了PHP脚本输出中文在浏览器中显示乱码的问题及其解决方案。问题主要出现在较低版本的PHP中,原因是PHP和浏览器的字符解析方式不一致,导致中文字符被错误解析成乱码。文章提供了两种解决方法:一是在脚本中主动添加字符解析形式,如使用header函数指定utf-8字符集;二是使用高版本的PHP,其可能默认使用utf-8字符集或能自适应浏览器的字符集。此外,文章还提到了phpstudy工具在PHP版本切换中的应用。

2026-02-03

HTML Table标签详解[项目源码]

本文详细介绍了HTML中的Table标签,包括其基本介绍、书写格式、属性设置以及如何使用Table进行网页布局。文章首先解释了Table标签在网页中展示数据的重要性,并提供了基本的Table代码示例。随后,详细介绍了Table及其子标签(如tr、td)的各种属性,如border、width、height、align等,以及单元格合并的方法(colspan和rowspan)。最后,文章还展示了如何使用Table进行网页布局,并提供了实际代码示例和效果图。虽然现代网页设计已较少使用Table进行布局,但Table在数据展示方面仍具有重要地位。

2026-02-02

JavaScript树形结构解析[源码]

本文深入探讨了JavaScript中树形数据结构的实现与应用。文章首先介绍了树形结构的基本概念,包括节点、边、根与叶子的定义,以及树在计算机科学中的广泛应用,如文件系统、数据库索引和人工智能领域。随后,详细解析了如何在JavaScript中表示和构造树形结构,包括节点的构造函数与工厂模式的使用,以及树的动态调整与平衡。此外,文章还涵盖了树的遍历算法,特别是前序遍历的递归与非递归实现,并分析了其时间复杂度。最后,探讨了树形结构的高级特性与扩展,如二叉搜索树与平衡树,以及树在前端框架和后端架构设计中的实际应用。本文为理解树形结构及其操作提供了坚实的基础,并为构建更复杂的数据结构奠定了基础。

2026-02-02

JS循环语句详解[代码]

本文详细介绍了JavaScript中的四种循环语句:while、do...while、for和for...in,以及break和continue的区别。while循环先判断条件后执行代码块,适用于循环次数不明确的场景;do...while循环先执行代码块后判断条件,确保至少执行一次;for循环适合已知循环次数的场景,结构清晰;for...in循环用于遍历对象的可枚举属性。此外,break用于立即终止循环,而continue用于跳过当前迭代进入下一次循环。掌握这些循环类型和控制语句对于编写高效、逻辑清晰的JavaScript代码至关重要。

2026-02-02

AntD Mobile与Vant对比[代码]

本文对Ant Design Mobile和Vant两大主流移动端组件库进行了全面对比,从核心特性、组件生态、性能表现和开发体验四个维度展开分析。Ant Design Mobile作为Ant Design体系的移动端延伸,强调企业级风格和设计一致性,支持动态主题切换和完整TypeScript类型定义;而Vant则专注于电商场景,以轻量、易用为特点,核心包体积更小。在组件生态方面,Ant Design Mobile提供全面的基础组件和部分业务组件,而Vant则更专注于电商领域。性能上Vant体积更小,Ant Design Mobile则注重渲染优化。开发体验方面,Ant Design Mobile适合React技术栈,Vant则适配Vue技术栈。文章最后给出了选型建议:企业级应用推荐Ant Design Mobile,电商类项目推荐Vant。

2026-02-01

Particles.js动态背景实现[代码]

本文详细介绍了如何使用Particles.js库在网页中实现动态粒子背景效果。首先,需要创建三个基本文件:index.html、style.css和script.js。index.html中引入Particles.js库和自定义脚本,style.css设置背景样式,script.js配置粒子参数,包括粒子数量、颜色、形状、大小、透明度及移动行为。此外,文章还提供了自定义修改的建议,如调整粒子移动速度、大小、颜色和透明度,以及线条的亮度和宽度。通过这些步骤,用户可以轻松创建个性化的动态粒子背景,增强网页视觉效果。

2026-02-01

Web开发图片插入[项目源码]

本文详细介绍了在HTML中插入图片及设置其属性的方法。首先,讲解了如何将图片插入空白网页中,包括图片的存放位置和基本的HTML代码示例。其次,介绍了如何通过CSS设置图片的大小、位置等属性,提供了具体的代码示例和效果展示。文章内容实用,适合Web开发初学者学习。

2026-01-31

el-dialog样式修改[项目代码]

本文详细介绍了如何修改el-dialog弹窗的样式,解决弹窗内容过长导致页面出现滚动条的问题。通过调整弹窗的CSS样式,确保弹窗内部出现滚动条而非页面滚动,同时优化了弹窗的布局和视觉效果。文章提供了完整的代码示例,包括模板、脚本和样式部分,并解释了如何调整弹窗的高度、顶部距离以及底部样式。此外,还介绍了如何移除弹窗底部并仅保留顶部和内容区域的修改方法,为开发者提供了灵活的样式定制方案。

2026-01-31

HTML5使用jsMind思维导图[项目源码]

本文介绍了如何使用jsMind库在HTML5中创建和编辑思维导图。jsMind是一个纯JavaScript类库,基于Canvas和SVG设计,支持现代浏览器。文章详细说明了如何引入jsMind库,包括CSS和JavaScript文件,并提供了完整的样例代码,展示了如何初始化思维导图、配置选项以及渲染导图。此外,jsMind支持节点的添加、删除、移动等操作,内置多种主题,允许自定义样式,并提供了丰富的API供开发者扩展功能。文章还提供了官网和在线体验链接,方便读者进一步了解和使用jsMind。

2026-01-30

CSS3文字渐变色[源码]

本文介绍了如何使用CSS3实现文字渐变色的效果。通过设置`background-image`属性为线性渐变色,并利用`background-clip`属性将背景裁剪到文字区域,再结合`color: transparent`使文字颜色透明,从而显示出背景的渐变色。需要注意的是,`background-clip: text`属性存在浏览器兼容性问题,并非所有浏览器都支持。文章提供了完整的HTML和CSS代码示例,方便读者直接参考和使用。

2026-01-30

DIV隐藏的2种方式[代码]

本文介绍了两种DIV隐藏的方法,分别是通过`visibility:hidden`和`display:none`属性实现。第一种方法`visibility:hidden`会保留元素的位置,仅隐藏内容;第二种方法`display:none`则完全移除元素,不保留位置。文章还提供了对应的JavaScript代码示例,展示了如何通过`style.visibility`和`style.display`属性动态控制元素的显示与隐藏。这些方法在前端开发中常用于动态调整页面布局和元素可见性。

2026-01-30

空空如也

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

TA关注的人

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