当前位置: 首页 > article >正文

I3C协议学习总结

I3C可以使用推挽式节省功耗速度更快SDR 单数据传输速率 SCL时钟频率可达到12.5MHz所有符合I3C标准的设备都必须要拥有一个总线特性寄存器1. I3C 协议模式概览 (Section 5)文档首先列出了 I3C 支持的几种主要通信模式SDR (Single Data Rate) 模式这是最基础、默认的模式详见第 5.1 节。HDR (High Data Rate) 高速模式注意I3C Basic 版本不支持此类模式HDR-TSP三元符号纯总线模式。HDR-TSL三元符号兼容总线模式兼容旧设备。HDR-DDR双倍数据速率模式。关键特性I3C 总线始终在 SDR 模式下初始化和配置永远不会直接从 HDR 模式启动。如果需要进入 HDR 模式必须先从 SDR 模式切换。主题 (Subject)章节 (Section)总线配置 / 总线通信5.1.1 / 5.1.2总线空闲 (Idle) 与 自由 (Free) 状态5.1.3.4 / 5.1.3.2动态地址分配 (DAA)5.1.4热插拔机制 (Hot-Join)5.1.5带内中断 (In-Band Interrupt)5.1.6通用命令代码 (CCC)5.1.9错误检测与恢复5.1.103. SDR 模式详解 (Section 5.1)这部分是 I3C 的核心描述了它与传统 I2C 协议的关系默认与基础SDR 模式是 I3C 总线的默认工作状态用于主从设备间的私有消息传输以及进入其他模式或执行通用命令CCC。与 I2C 的兼容性I3C SDR 在规程上与 I2C 非常相似。共存性I3C 设备、I3C 从设备和传统的 I2C从设备 可以同时存在于同一条总线上。互不干扰I2C 主设备发出的流量会被 I3C 从设备忽略。I3C 主设备发出的流量通常不会被传统 I2C 从设备“看见”因为 I3C 的时钟频率更高I2C 设备的**尖峰过滤器Spike Filter**会过滤掉这些高频信号。设备角色与总线拓扑图中展示了一个典型的 I3C 总线结构包含两根信号线SDA数据线和 SCL时钟线。总线上支持四种主要角色I3C Main Master (主控制器) 整个总线的“大脑”负责启动通信、管理总线时序以及分配地址。I3C Secondary Master (辅助控制器可选的) 具有双重身份图中以蓝粉渐变色表示。在平时它是主控制器的从设备但在特定条件下它可以请求接管总线变成临时的主控制器。I3C Slave (I3C 从设备) 纯粹的从设备支持 I3C 的高级特性如带内中断。Legacy I2C Slave (传统 I2C 从设备) 老式的 I2C 设备。I3C 总线设计了兼容模式允许这些设备挂载在同一条线上。一个功能完整的 I3C 总线系统其最小硬件组合只需要 一个主控制器Main Master 和 一个从设备Slave。Secondary Master是可选的。核心机制动态地址分配 (Dynamic Addressing)全员分配 每次系统从掉电状态启动Start-up时主控制器Main Master必须为总线上的每一个设备分配一个唯一的“动态地址”包括它自己。优先级排序 动态地址不仅用于寻址还决定了带内中断 (In-Band Interrupts, IBI) 的优先级。地址数值越小通常优先级越高。信息同步 当主控制器完成地址分配后必须通过 公共命令代码 (CCC) 将这些分配结果同步给总线上的“辅助控制器”确保全场信息一致。对传统 I2C 设备的特殊处理文档提到由于传统的 I2C 设备使用的是固定的静态地址主控制器必须在“上电前”或启动初期通过查表或配置先获取这些 I2C 设备的固定地址以避免地址冲突。1. 管理权谁才是真正的“老大”从前三行职责可以看出Main Master主控制器拥有绝对的统治权Dynamic Address Assignment动态地址分配只有 Main Master 能够主动给全总线设备发“身份证”。Secondary Master 虽然能管仲裁但在初始状态下没有分配地址的权力标记为N。Self Dynamic Address Assignment自我地址分配这是 Main Master 的特权。Hot-Join热插拔当新设备中途加入总线时Main Master 必须支持为其分配地址而 Secondary Master 则是“可选”支持。2. 控制能力Master 与 Slave 的鸿沟表格中间部分展示了 Master无论主副与 Slave 的本质区别SDA ArbitrationSDA 仲裁所有 Master 角色都必须支持仲裁处理多个设备同时想说话的情况而从设备Slave则不需要关心这个。Memory for Slaves Addresses存储从设备信息Master 必须有“记账”能力记住总线上所有从设备的地址和特性寄存器。Slave 只需要管好自己不需要记别人的信息。I3C 设备中的 I2C 特性开关当一个 I3C 设备Slave运行在 I3C 总线上时它必须有选择地“屏蔽”掉一些老旧的 I2C 特性必须禁用的功能 (Not Allowed / Shall disable)Clock Stretch时钟拉伸I2C常用此方法让 Master 等待但在高速的 I3C 中这会导致时序混乱因此严禁使用。50ns Spike Filter50ns 尖峰过滤器在全速 I3C 模式下这个滤除噪声的过滤器会把合法的快速信号也滤掉所以必须关闭。必须支持的功能 (Required)Fm Speed快速模式增强版I3C 设备必须至少兼容 I2C 的 1MHz 速率。不支持的功能 (Not Used)10-bit Extended AddressI3C 仅支持 7 位地址寻址。HS/Ufm Speed这些过时的 I2C 高速/超快模式在 I3C 总线上不被采用。核心逻辑一旦从设备识别到总线上的 I3C 特殊广播地址7h7E它就应该自动关闭那些不被 I3C 兼容的 I2C 特性。如果你把一个只懂 I2C 、完全不懂 I3C 的老芯片Legacy I2C-Only Device挂在 I3C 总线上它必须符合以下三类之一否则会拖累整个总线Index 0带有 50ns 过滤器。这类设备最安全因为它会自动忽略 I3C 的高速切换信号被视为噪声。Index 1不带过滤器但能耐受 I3C 的最高时钟频率。Index 2不带过滤器也不耐受高频。这类设备风险最高可能导致总线锁死。I3C 协议中非常关键的特性寄存器Characteristics Registers没有I3C特性寄存器的设备则不能被连接到普通的I3C总线上。1. BCR (Bus Characteristics Register) —— “总线属性名片”每个 I3C 合规设备都必须拥有一个 BCR。它告诉主控制器该设备在总线通信层面的能力例如该设备是否支持 HDR高数据速率 模式。它是否能请求成为 Master主控如果是辅助控制器。它是否支持 IBI带内中断。它是否支持 Bridge桥接 功能。2. DCR (Device Characteristics Register) —— “设备类型名片”每个 I3C 合规设备也必须拥有一个 DCR。它定义了设备的具体类型。主控制器通过这个寄存器知道自己面对的是什么设备例如它是一个加速度计、陀螺仪还是一个显示控制器这有助于系统自动配置对应的驱动程序实现类似“即插即用”的效果。3. LVR (Legacy Virtual Register) —— “老旧设备虚拟名片”这是专门为传统 I2C 设备准备的。虚拟性 因为老旧的 I2C 芯片硬件里根本没有 I3C 的寄存器所以这些信息通常是“虚拟”的存在于主控制器的软件驱动或固件中。作用 它告诉 I3C 主控制器这个老设备是属于哪种 I2C 类型对应你之前看到的 Table 5 中的 Index 0/1/2以及它是否具有 50ns 过滤器等。为什么这些寄存器这么重要如果不读取这些寄存器主控制器就像在黑盒里操作它不知道某个设备是否能抗住 $12.5\text{MHz}$ 的时钟频率可能会导致老设备死机。它不知道哪个设备有紧急消息要发中断优先级。一句话总结 BCR 决定了“怎么聊”协议特性DCR 决定了“聊什么”设备功能而 LVR 则是为了带上那些“听不懂新语言”的老前辈。任何连接到I3C总线上的I3C设备都有一个只读的寄存器BCR比特位 (Bit)名称 (Name)取值 (Value)详细含义说明BCR [7:6]Device Role(设备角色)2b002b012b10/1100:I3C 从设备 (Slave)01:I3C 主设备 (Master)包括主控和辅助主控10/11:保留给未来 MIPI 规范使用BCR [5]Reserved0保留位默认必须为 0BCR [4]Bridge Identifier(桥接标识)010:普通设备1:桥接设备例如 I3C 转 SPI/UART 的网关BCR [3]Offline Capable(离线能力)010:始终在线必须响应总线命令1:允许不响应命令如处于极低功耗模式但保留动态地址BCR [2]IBI Payload(中断数据载荷)010:随后的带内中断 (IBI) 不带额外数据字节1:随后的 IBI 包含 1 个或多个数据字节由 T-Bit 控制结束BCR [1]IBI Request Capable(中断请求能力)010:不支持发起带内中断1:支持主动发起带内中断请求 (IBI)BCR [0]Max Data Speed Limitation(最大速率限制)010:无额外速度限制1:有限制。主控必须发送GETMXDS指令来确认具体速率限制任何连接到I3C总线上的I3C设备都有一个只读的寄存器DCR比特位 (Bit)名称 (Name)描述与功能 (Description)DCR [7:0]Device ID设备类型代码这是一个 8 位的只读值用于定义设备的具体类别如传感器类型。取值范围0到255共有 255 个可用代码由 MIPI 联盟统一分配。默认值8b0(0x00)Generic Device通用设备未特定分类的设备。常见示例传感器/复合设备具体的数值代表不同的硬件例如*加速度计 (Accelerometer)*陀螺仪 (Gyroscope)*磁力计 (Magnetometer)*复合设备 (Composite Devices)常见的 DCR 代码举例参考 MIPI 规范十六进制值 (Hex)设备类别 (Device Class)0x00通用设备 (Generic Device)0x01传感器总线扩展器 (Sensor Hub / Bus Expander)0x02加速度计 (Accelerometer)0x03陀螺仪 (Gyroscope)0x04磁力计 (Magnetometer)0x41桥接设备 (Bridge)比特位 (Bit)名称 (Name)取值 (Value)详细含义说明LVR [7:5]Legacy I2C Only(传统索引)3b000(Index 0)3b001(Index 1)3b010(Index 2)核心兼容性索引对应之前 Table 5 提到的分类。其主要定义了设备是否带有 50ns过滤器以及对 SCL 时钟频率的耐受度。LVR [4]I2C Mode Indicator(模式指示)010:I2CFm (快速模式增强版最高 1MHz1:I2CFm (快速模式最高 400kHzLVR [3:0]MIPI Reserved(保留/功能描述)15 个可用代码虽为保留位但也可用于描述传感器系统中的设备能力和功能。LVR 的运作机制预先配置 在总线启动前控制层如 CPU 上的驱动程序必须先根据原理图和器件手册手动建立这些老设备的 LVR 信息并告知 I3C Main Master。同步辅助控制器 如果总线上有辅助控制器Secondary MasterMain Master 需要通过 DEFSLVS定义从设备列表这一公共命令CCC把这些 LVR 信息同步给它。安全保护 通过 LVR主控知道某个 I2C 设备是否能承受 I3C 的 SDR 频率。如果不耐受主控在与其它 I3C 设备高速通信时会更加谨慎。I3C总线从启动到传输的整个过程是什么?1. 上电与静态状态 (Power-on Static State)当系统刚上电时I3C 总线处于 I2C 兼容模式。主控行为 Main Master 占据控制权。由于此时总线上所有设备都还没有“动态地址”主控只能通过设备预留的 静态地址如果有的话或者 广播地址 7h7E 来打招呼。从机状态 I3C 从机此时表现得像个 I2C 从机等待被分配身份。2. 进入 I3C 模式与枚举 (ENTDAA)这是 I3C 最具特色的阶段即 动态地址分配 (Dynamic Address Assignment)。广播指令 主控发出公共命令代码 ENTDAA (Enter Dynamic Address Assignment)。地址分发1. 主控通过仲裁机制识别总线上的每一个设备利用设备唯一的 PID、BCR 和 DCR。2. 主控逐一为这些设备指定一个 7 位的动态地址。3. 此时每个设备才真正拥有了在 I3C 总线上“交谈”的合法身份。结束标志 当主控发现没有更多设备响应时结束该流程。3. 特性读取与总线配置 (Characteristics Gathering)分配完地址后主控需要知道每个人的“脾气”和“本事”读取 BCR/DCR 主控会向每个动态地址发送请求读取它们的 BCR看能不能发中断、跑多快和 DCR看它是传感器还是控制器。配置 LVR 如果总线上挂了传统 I2C 设备主控会根据预设的 LVR虚拟寄存器信息确定在后续通信中如何兼容这些老设备。同步 如果有 Secondary Master主控会通过 DEFSLVS 把这份“全家谱”同步给它。4. 正常数据传输阶段 (Data Transport)身份和能力确认后进入常规作业模式。I3C 支持两种主要的传输方式SDR 模式标准数据速率 类似 I2C 但更快最高 12.5MHz。支持传统的读写操作。HDR 模式高数据速率 当需要海量数据交换时主控发出特定的 ENTASx 指令进入 HDR 模式如 DDR 模式此时数据吞吐量翻倍。5. 事件触发与中断 (In-Band Interrupts, IBI)在传输间隙从机不再是被动等待它可以主动发起请求带内中断 (IBI) 传感器如果发现数据异常可以拉低 SDA 线申请中断。热插拔 (Hot-Join) 新加入总线的设备如刚插上的模块可以申请让主控给它分配地址。主控移交 (Mastership Request) 辅助控制器可以请求主控把“指挥权”交给自己。I3C协议中master发送direct CCC也需要先发送广播地址吗即使是直接命令Direct CCC即只想和某一个特定的 Slave 通信Master 也必须先发送广播地址 7h7E。在 I3C 的逻辑中7h7E 不仅仅是一个“群发地址”它更像是一个**“进入 I3C 命令模式”的准入证**。1. 广播地址与写位 (The Wake-up)Master 发出 START然后发送 7h7E W (0xFC)。目的 告诉总线上所有的 I3C 设备包括那个你要找的特定 Slave接下来的内容是 I3C 的公共命令请大家保持关注。响应 所有 I3C 设备都会回复 ACK。2. 发送 Direct CCC 代码 (The Command)紧接着Master 发送 Direct CCC 代码范围在 0x80 - 0xFE 之间。识别 所有 I3C 设备看到代码大于等于 0x80就知道这是一个“点名”指令接下来会有一个特定的目标地址。示例 如果你想读取某个设备的特性寄存器你会发送 0x87 (GETBCR)。3. 重复起始信号与设备地址 (The Target)这是 Direct CCC 与 Broadcast CCC 的核心区别点Master 发出一个 Repeated START (Sr)。紧接着发送 目标 Slave 的动态地址 (Dynamic Address) R/W 位。筛选 此时除了那个被点名的 Slave 之外其他所有 I3C 设备都会意识到“原来不是找我的”从而退出监听回到备战/休眠状态。I3C协议中master如何分配动态地址在 I3C 协议中Master 发送 公共命令代码Common Command Codes, CCC 是管理总线的核心手段。这些命令就像是主控官向全场或特定设备下达的“行政指令”。1. 发送广播地址 (7h7E)所有的 CCC 操作都必须以广播地址 7h7E开头。原因 这个特殊的地址在 I2C 时代是保留地址在 I3C 中它被定义为“通知所有 I3C 设备准备听取命令”。操作 Master 发出 START 信号随后发送 7h7E W写位。由于7‘h7E对于I2C设备是保留地址所以I2C设备不可能拿这个地址作为自己的静态地址所以在I3C总线上I2C设备对0x7E的地址是无感的。2. 发送特定的 CCC 代码 (Command Byte)在地址被确认为广播后Master 紧接着发送 1 个字节的 命令代码。主控Main Master首先向总线发出 ENTDAA (0x07) 公共命令代码 (CCC)。此时所有 I3C 设备包括从机和辅助主控收到命令后都会进入“地址分配准备状态”。3. 仲裁与身份识别 (Arbitration Identification)这是核心步骤。当多个从机同时尝试获取地址时它们必须通过总线仲裁机制来决定谁先“说话”PID (Provisioned ID) 比较 每个 I3C 设备都有一个全球唯一的 48 位 PID。竞争机制 所有未分配地址的从机同时开始在 SDA 线上传输自己的 PID。由于 SDA 是“线与”逻辑只要有一个设备输出 0线就是 0数值越小的 PID 在竞争中越占优势。锁定胜者 经过逐位比较最终只有一个从机能成功将完整的 PID 发送给 Master。4. 读取特性 (BCR/DCR Retrieval)Master 拿到了获胜从机的 PID 后会通过 GETBCR 和 GETDCR 指令读取该设备的 BCR总线特性和 DCR设备特性。这个过程让 Master 明确该从机的“身份”与“能力”。5. 地址分配 (Assignment)Master 根据识别到的设备信息从可用的动态地址池中选择一个地址通过特定的指令发送给该从机。从机接收到地址后切换到该动态地址并进入“已配置”状态从而退出后续的地址分配竞争。常用的几个CCC代码CCC 分为两大类主控通过代码的数值范围来区分广播类 (Broadcast CCC, 0x00 - 0x7F) 这一条指令发出去全场所有设备都要同时执行例如 ENTDAA 开启地址分配。直接类 (Direct CCC, 0x80 - 0xFE) 这类指令后会跟着特定的设备地址只有被点名的设备才响应例如 GETBCR 读取某个从机的特性。序号命令代码 (Hex)命令名称 (Full Name)类型 (Type)核心功能描述 (Functionality)10x07ENTDAA(Enter Dynamic Address Assignment)Broadcast(广播)分配身份证这是主控发出的“报数”指令。所有没有地址的 I3C 设备开始通过自己的 48 位 PID 进行仲裁最终由主控为每个胜出者分配一个唯一的动态地址。20x00(B)0x80(D)ENEC(Enable Events Command)Both(广播/直接)开启权限告诉从机可以开始“说话”了。它用来使能从机的特定功能最常见的是开启带内中断 (IBI)和热接入 (Hot-Join)请求权限。30x87/0x88GETBCR / GETDCR(Get Bus/Device Characteristics)Direct(直接)摸底调查主控针对某个特定地址读取它的“名片”。通过 BCR 了解其通信能力如是否带 Payload通过 DCR 了解其设备类型如是加速度计还是陀螺仪。40x89/0x8ASETMWL / SETMRL(Set Max Write/Read Length)Direct(直接)商定边界主控与特定从机约定单次数据传输的最大长度。这能防止大数据包撑爆从机的缓存确保高速通信时的内存安全。50x06RSTDAA(Reset Dynamic Address Assignment)Broadcast(广播)推倒重来清空总线上所有从机已分配的动态地址。通常在系统发生严重错误、主控重启或需要重新扫描总线设备时使用。I3C协议的带内中断是针对master而言还是slave而言?带内中断In-Band Interrupt, IBI是由从机Slave发起由主机Master响应的。它是 I3C 协议相对于 I2C 最重要的进化之一。在传统的 I2C中如果从机有紧急情况比如传感器检测到数据超标它必须通过一根**额外的硬件引脚GPIO去中断 CPU而在 I3C 中从机直接在现有的数据线SDA**上“举手”示意。1. 从机Slave视角主动权对于 Slave 而言IBI 是一种权利。不再被动 Slave 不需要死等 Master 来轮询Polling自己这大大降低了功耗Slave 可以长时间休眠直到有事才叫醒 Master。发起条件 当总线处于空闲Idle状态时Slave 通过将 SDA 线拉低来向 Master 发出请求。优先级 如果多个 Slave 同时想发中断地址越小的 Slave 优先级越高会赢得仲裁。2. 主机Master视角管理责任对于 Master 而言IBI 是一种义务和配置任务。使能控制 Master 可以通过公共命令CCC来开启或关闭某个 Slave 的中断权限ENEC/DISEC 指令。响应流程Master 检测到 SDA 被拉低知道有人要“插话”。Master 提供时钟SCL让 Slave 把自己的动态地址发出来确认是谁在请示。Master 根据 BCR 寄存器你之前看的那张表的位 [2] 判断这个 Slave 只是打个招呼还是要顺便传几个字节的数据Payload。决策 Master 可以选择立刻读取 Slave 的数据也可以发一个“拒绝NACK”让它稍后再试。I3C协议是否支持10bit寻址或者10bit地址分配

相关文章:

I3C协议学习总结

I3C可以使用推挽式,节省功耗,速度更快SDR 单数据传输速率, SCL时钟频率可达到12.5MHz所有符合I3C标准的设备都必须要拥有一个总线特性寄存器1. I3C 协议模式概览 (Section 5)文档首先列出了 I3C 支持的几种主要通信模式:SDR (Sing…...

手把手教你用QGIS加载并可视化2025年北京OSM路网SHP数据(WGS84坐标系)

零基础实战:QGIS加载OSM路网数据的完整可视化流程 第一次打开QGIS时,面对满屏的工具栏和菜单选项,很多初学者都会感到无从下手。特别是当手头有一份刚下载的SHP格式路网数据时,如何正确加载、设置坐标系并进行基础可视化&#xff…...

避开这3个坑!STM32 CubeMX配置QSPI读写MX25L25645G实战复盘

STM32 CubeMX配置QSPI驱动MX25L25645G的三大实战陷阱与解决方案 在嵌入式系统开发中,外部Flash存储器的使用几乎成为标配,而MX25L25645G凭借其256Mb的大容量和QSPI接口的高速特性,成为许多STM32项目的首选。但当你真正开始用CubeMX配置QSPI接…...

Packet Tracer实战:交换机基础配置与常见问题排查

1. Packet Tracer与交换机配置入门 第一次接触网络设备配置的朋友可能会觉得交换机是个神秘的黑盒子。其实用Cisco Packet Tracer这个仿真工具,你完全可以在自己的电脑上搭建一个虚拟实验室。我刚开始学习时也是从这个工具入手的,它比真机操作更友好——…...

Origin绘图进阶:如何在现有图形上叠加散点图与等高线(附完整操作步骤)

Origin高级绘图技巧:散点图与等高线的完美叠加实战指南 科研数据可视化中,单一图表往往难以全面展示复杂数据关系。当您需要在同一坐标系中同时呈现离散数据点与连续趋势时,散点图与等高线的组合堪称黄金搭档。这种混合图表特别适合展现发动机…...

原创:黄大年茶思屋难题揭榜第11期|5道核心题精简公开·被退稿求技术指正

黄大年茶思屋难题揭榜第11期|5道核心题精简公开被退稿求技术指正 作者:华夏之光永存 摘要 这五道题我们已完整解题并提交黄大年茶思屋难题揭榜,最终被直接退稿,但平台未给出任何具体技术驳回理由、未指明缺陷、未提供修改方向。我…...

Harness Engineering 又是什么新 AI 玩具?

今天我们聊了业内最新提出的 Harness Engineering。可以看到,在 AI 智能体优先的世界里,软件工程的鲁棒性开始转移到了支撑智能体上。最近 AI 编程可以说是卷上天了,不得不说时代的大车轱辘已经碾过来了。GLM 一个月内狂发新模型。我们今天来…...

MissionPlanner地面站调试Pixhawk:除了基础校准,你的F450还能设置这些高级功能

MissionPlanner地面站进阶指南:解锁Pixhawk飞控的隐藏潜力 当你已经能够熟练完成F450无人机的基础校准,让四轴稳稳升空只是起点而非终点。MissionPlanner作为Pixhawk飞控的瑞士军刀,藏着许多被普通教程忽略的进阶功能——这些功能往往决定着你…...

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果:使用Typora风格进行优雅排版

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果:使用Typora风格进行优雅排版 不知道你有没有过这样的经历:辛辛苦苦写了一大堆技术笔记,代码片段、命令、思路混杂在一起,过几天自己再看,都感觉像在看天书。或者&…...

ISL29125 RGB环境光传感器驱动与嵌入式应用实战

1. ISL29125 RGB环境光传感器技术解析与嵌入式驱动开发实践ISL29125 是 Intersil(现属 Renesas)推出的一款高精度、低功耗、IC 接口的 RGB 环境光传感器(Ambient Light Sensor, ALS),专为智能手机、平板电脑、可穿戴设…...

解决MicroBlaze程序启动难题:Vivado中bit与elf文件合并的完整流程

解决MicroBlaze程序启动难题:Vivado中bit与elf文件合并的完整流程 在FPGA开发中,MicroBlaze软核处理器的应用越来越广泛,但许多开发者都会遇到一个共同的痛点:每次下载程序都需要分别加载bit文件和elf文件,这不仅增加了…...

如何用React打造经典Windows XP桌面体验:完整实现指南

如何用React打造经典Windows XP桌面体验:完整实现指南 【免费下载链接】winXP 🏁 Web based Windows XP desktop recreation. 项目地址: https://gitcode.com/gh_mirrors/wi/winXP Windows XP作为微软最经典的操作系统之一,至今仍被许…...

告别繁琐安装!3分钟用PPTist打造专业级在线演示文稿

告别繁琐安装!3分钟用PPTist打造专业级在线演示文稿 【免费下载链接】PPTist 基于 Vue3.x TypeScript 的在线演示文稿(幻灯片)应用,还原了大部分 Office PowerPoint 常用功能,实现在线PPT的编辑、演示。支持导出PPT文…...

从零到一:基于LLaMA-Factory与Ollama的本地大模型定制化实战

1. 为什么需要本地定制化大模型? 最近两年,大语言模型的发展速度简直让人瞠目结舌。从最初的GPT-3到现在的Llama 3,模型能力越来越强,但随之而来的问题是:这些通用大模型真的能满足我们每个人的特定需求吗?…...

3步实现URL效率革命:Redirector极简方案让浏览器跳转更智能

3步实现URL效率革命:Redirector极简方案让浏览器跳转更智能 【免费下载链接】Redirector Browser extension (Firefox, Chrome, Opera, Edge) to redirect urls based on regex patterns, like a client side mod_rewrite. 项目地址: https://gitcode.com/gh_mirr…...

保姆级教程:在绿联NAS上用Docker Compose一键部署PaddleOCR,打造本地私有化OCR服务

绿联NASDocker Compose极简部署PaddleOCR:零命令行打造私有文字识别服务 家里堆积如山的合同发票需要电子化?团队内部敏感文档不敢用云端OCR?绿联NAS用户现在可以抛开复杂命令,用Docker Compose三分钟搭建企业级文字识别服务。本文…...

51单片机项目避坑实录:我的声光控灯为什么白天也亮?从硬件到代码的故障排查指南

51单片机声光控灯项目实战:从硬件选型到代码调试的深度避坑指南 深夜的实验室里,我盯着眼前这个不听话的声光控灯——明明窗外阳光明媚,它却固执地亮着。作为一名嵌入式开发新手,这个看似简单的51单片机项目让我踩遍了所有可能的坑…...

全平台广告拦截神器:AdGuard扩展零门槛部署与优化指南

全平台广告拦截神器:AdGuard扩展零门槛部署与优化指南 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension 广告拦截技术已成为现代浏览器的必备能力,AdG…...

Realistic Vision V5.1镜像免配置部署教程:Docker+本地模型路径自动校验

Realistic Vision V5.1镜像免配置部署教程:Docker本地模型路径自动校验 1. 项目概述 Realistic Vision V5.1虚拟摄影棚是基于Stable Diffusion 1.5生态顶级写实模型开发的本地化工具,专为追求摄影级人像效果的用户设计。这个解决方案通过Docker容器化技…...

硬件(6)——定时器

硬件中如何确定引脚电平的高低?硬件内部有一个比较器,类似门电路,有两个输入一个输出,其中一个输入接稳定的参考值(DCDC 3.3V),另一个输入接引脚。当引脚高于3.3V就输出高电平,引脚低于3.3V就输…...

Nuka Carousel与TypeScript完美集成:类型安全和开发体验提升

Nuka Carousel与TypeScript完美集成:类型安全和开发体验提升 【免费下载链接】nuka-carousel Small, fast, and accessibility-first React carousel library with an easily customizable UI and behavior to fit your brand and site. 项目地址: https://gitcod…...

终极指南:如何用Ice打造清爽Mac菜单栏?2025年最强大的macOS菜单栏管理工具

终极指南:如何用Ice打造清爽Mac菜单栏?2025年最强大的macOS菜单栏管理工具 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice Ice是一款强大的macOS菜单栏管理工具,它…...

音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区

音频工程师必看:奈奎斯特采样定理在实际录音中的5个常见误区 在专业音频制作领域,采样率设置是决定录音质量的基础性环节。许多工程师虽然熟悉44.1kHz或48kHz这些标准数字,却对背后的奈奎斯特采样定理存在认知偏差。这些误解轻则导致后期处理…...

WPS加载项开发实战:从零到一构建你的第一个wpsjs插件

1. 为什么你需要WPS加载项开发 第一次听说WPS加载项时,我也是一头雾水。直到接手了一个客户需求——他们需要在WPS里快速生成固定格式的周报模板,我才真正体会到这个功能的价值。想象一下,你每天要处理几十份格式雷同的文档,如果能…...

ES10(ES2019)新特性完整指南

ES10(ES2019)新特性发布时间:2019年6月 ES10 新增了数组扁平化、对象转换、字符串修剪等实用方法。1. Array.prototype.flat() 将嵌套数组"拉平",返回一个新数组: 基本用法 [1, 2, [3, 4]].flat(); //…...

终极指南:Hilt依赖注入在Droid-ify开源应用中的实战应用 [特殊字符]

终极指南:Hilt依赖注入在Droid-ify开源应用中的实战应用 🚀 【免费下载链接】client F-Droid client with Material UI. 项目地址: https://gitcode.com/gh_mirrors/clie/client 在Android应用开发领域,Droid-ify作为一个优秀的F-Dro…...

华为 eNSP 实战:SSH 密钥认证配置与安全加固指南

1. 为什么选择SSH密钥认证而非密码? 在华为eNSP模拟的企业网络环境中,传统的SSH密码认证虽然比Telnet安全,但依然存在被暴力破解的风险。我曾在实际项目中发现,使用弱密码的设备在暴露公网后,平均每天会遭受上千次登录…...

2023B卷,IPv4地址转换成整数

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:华为OD面试 文章目录 一、🍀前言 1.1 ☘️题目详情 1.2 ☘️参考解题答案 一、🍀前言 2023B卷,IPv4地址转换成整数。 1.1 ☘️题目详情 题目: 存…...

Syncfusion Dashboard部署指南:从开发到生产环境的完整流程

Syncfusion Dashboard部署指南:从开发到生产环境的完整流程 【免费下载链接】project_syncfusion_dashboard This is a code repository for the corresponding YouTube video. In this tutorial we are going to build and deploy a an admin dashboard app using …...

MySQL开发者必看:金仓数据库兼容性迁移避坑指南(含外键处理技巧)

MySQL开发者必看:金仓数据库兼容性迁移避坑指南(含外键处理技巧) 当企业级应用需要从MySQL迁移到金仓数据库时,开发者往往会面临一系列兼容性挑战。作为国产数据库的代表,金仓数据库虽然提供了MySQL兼容模式&#xff0…...