【I2C的七宗罪】深度总结:从协议原理到硬件故障排查
前言最近在网上淘到了一篇讲解IIC的文章讲的是一个老工程师的多年IIC调试工作的总结看了之后感觉覆盖了几乎所有的IIC调试过程可能遇到的问题由于在CSDN平台上面没有发现类似的完整的文章现就此重新加工编辑一下并添加了一些自己的理解以供大家浏览学习对IIC极度感兴趣的朋友请认真读完看完之后会对IIC协议有更加深度的理解。完整的原文链接放在了文章最底端。目录一、IIC 协议基础先理解它是如何工作的1.1 IIC 是什么1.2 IIC 的核心电气原理开漏输出与上拉电阻1.3 IIC 支持哪些通信角色1.4 IIC 的常见速率二、IIC 协议时序详解2.1 数据传输的基本规则2.2 START 与 STOP 时序2.3 地址与读写位2.4 ACK 与 NACK第 9 个时钟2.5 IIC 写操作2.6 IIC 读取操作2.7 时钟拉伸 Clock Stretching三、《I2C 的七宗罪》逐条深度总结第一宗罪通信被中断后从机没有复位SDA 被一直拉低第二宗罪电源时序异常导致 IIC 器件进入异常状态第三宗罪上拉电阻选择不当导致高温下 I²C 通信失败第四宗罪双向电平转换器的工作原理理解错误第五宗罪ACK 异常与协议帧缺失第六宗罪寄存器读取事务中错误插入 STOP第七宗罪Clock Stretching 与 SCL 毛刺一、IIC 协议基础先理解它是如何工作的1.1 IIC 是什么IICInter-Integrated Circuit集成电路间总线是一种同步、串行、双向通信总线广泛用于 MCU 与 EEPROM、传感器、GPIO 扩展器、时钟芯片、电源管理芯片等器件之间的通信。IIC 最典型的特点是只需要两根信号线:SCLSerial Clock串行时钟:通常由主控制器Controller传统上称 Master提供时钟。它决定数据传输的时序但在支持 Clock Stretching 的系统中从设备也可以将 SCL 拉低延迟后续时钟。SDASerial Data串行数据线:用于传输地址、读写方向、数据以及 ACK/NACK。主设备和从设备都可能驱动 SDA因此它是一条双向数据线。1.2 IIC 的核心电气原理开漏输出与上拉电阻总结来看开漏输出可以理解为器件能够主动把总线拉低但通常不会主动将总线拉高。输出逻辑0器件导通下拉管将总线拉向 GND。输出逻辑1器件关闭下拉管释放总线由上拉电阻将信号拉高。所有器件都释放总线时总线才可能处于高电平。任意一个器件拉低总线时总线就会处于低电平需要特别注意释放总线不等于主动输出高电平。 这一点是理解 I²C 电平转换、总线争用以及时钟拉伸的基础1.3 IIC 支持哪些通信角色IIC 传统上使用 Master/Slave 术语现在也常使用 Controller/Target。Controller主控制器发起通信、产生时钟、发送起始和停止条件并控制传输流程。Target目标器件根据地址响应请求接收主机写入的数据或者向主机提供数据。Transmitter发送方当前正在发送地址或数据的一方。Receiver接收方当前正在接收地址或数据的一方。Controller 和 Transmitter 不是同一个概念。比如主控制器读取传感器时主控制器负责产生时钟但传感器才是数据发送方。这也是为什么在IIC 读操作中SDA 的驱动方向会发生变化而 SCL 通常仍由主控制器控制。1.4 IIC 的常见速率模式标称最高时钟频率常见用途Standard-mode100 kHz低速外设、EEPROMFast-mode400 kHz传感器、常规外设Fast-mode Plus1 MHz更高吞吐量的外设High-speed mode3.4 MHz特定高速应用二、IIC 协议时序详解要理解IIC的控制时序逻辑START、STOP、地址、读写位、ACK/NACK、数据有效窗口以及重复起始条件都是基础概念2.1 数据传输的基本规则I²C 最重要的时序规则有三条SCL 为高电平期间SDA 数据必须保持稳定。 普通数据位不能随意改变。SDA 通常只能在 SCL 为低电平期间改变。START 和 STOP 是例外。每传输一个字节都有第 9 个时钟用于 ACK/NACK 应答。2.2 START 与 STOP 时序START 表示一次传输开始STOP 表示一次传输结束并释放总线。重复起始Repeated STARTSr则可以在不先发 STOP 的情况下启动下一阶段传输。当 SCL 保持高电平时SDA 从高变低即产生 START。当 SCL 保持高电平时SDA 从低变高即产生 STOP。2.3 地址与读写位常规 I²C 支持 7 位地址和 10 位地址两种形式。实际项目中最常见的是 7 位地址。对于 7 位地址地址帧通常可以写成前 7 位是从设备地址最后 1 位是读写方向。R/W 0主机写入从机R/W 1主机读取从机2.4 ACK 与 NACK第 9 个时钟每个 8 位字节后都有一个应答时钟ACK接收方将 SDA 拉低NACK接收方不拉低 SDA线路保持高电平发送方在第 9 个时钟期间必须释放 SDA接收方才可以通过拉低 SDA 产生 ACK。主控制器负责提供第 9 个时钟脉冲。NACK 不一定代表硬件故障。例如设备地址错误或器件没有上电从机忙碌暂时无法应答从机不支持当前命令从机无法再接收更多数据主机读取完最后一个字节主动发送 NACK表示不再请求后续数据。2.5 IIC 写操作主机发起通信 选择目标器件R/W 0 从机应答 指定目标寄存器 从机应答 主机发送待写入的数据 从机确认接收 结束传输 S → SlaveAddr W → ACK → RegisterAddr → ACK → Data → ACK → P2.6 IIC 读取操作对于带有内部寄存器地址的传感器读取过程一般不是简单地直接发送读命令而是先告诉从机要读哪个寄存器再改变方向读取数据。S→ SlaveAddr W → ACK→ RegisterAddr → ACK→ Sr→ SlaveAddr R → ACK→ Data → NACK→ P2.7 时钟拉伸 Clock StretchingClock Stretching 是 IIC 的一项重要机制当从机尚未准备好继续通信时可以将 SCL 拉低延迟后续时钟。正常情况下主机生成 SCL 时钟从机根据时钟接收或发送数据。启用时钟拉伸时主机释放 SCL尝试让线路变高从机继续拉低 SCL实际总线保持低电平从机准备就绪并释放 SCL 后线路才会在上拉电阻作用下升高。因此主机发出了“释放 SCL”的动作并不意味着物理总线一定已经处于高电平。如果主控制器不支持 Clock Stretching或者软件模拟时没有正确读取实际 SCL 状态就可能在从机仍然拉低 SCL 时提前继续执行造成通信错误。三、《I2C 的七宗罪》逐条深度总结原文的七个案例来自不同项目核心覆盖总线状态机、供电复位、上拉电阻、电平转换、ACK、组合读事务和时钟拉伸。下面保留每个案例的故障现象、根因、解决办法和工程启示友情提示结合原文阅读本文以下部分的效果会更好。第一宗罪通信被中断后从机没有复位SDA 被一直拉低典型现象MCU 按下复位按钮后系统无法正常启动串口只打印部分信息反复复位仍然失败只有断电重启后才能恢复。示波器显示 SDA 长时间处于低电平。根本原因原文案例中的 MCU 和 EEPROM 复位行为不一致MCU 发起 IIC 读操作。EEPROM 开始通过 SDA 输出数据。传输过程中 MCU 被复位。MCU 的软件状态机被清除但 EEPROM 没有同步复位仍处于原来的传输状态。EEPROM 继续等待剩余时钟、主机的 NACK 或事务结束条件。SDA 可能停留在低电平导致 MCU 重启后无法正常开始新的通信。这里最关键的矛盾是主机的软件认为上一笔通信已经结束但从机的硬件状态机并不知道主机已经复位。解决办法方案一总线恢复在确认 SCL 可以正常控制、SDA 被从机拉低且器件支持相应恢复机制时尝试输出最多 9 个 SCL 脉冲并检查 SDA 是否释放随后在总线状态允许时生成 STOP。方案二复位从机或重新上电如果从机状态机无法通过时钟恢复需要使用器件提供的 RESET 引脚、独立电源控制或符合器件要求的重新上电流程。方案三设计复位时序让 MCU 与从机的复位、供电、IIC 初始化相互协调避免 MCU 已开始通信而从机尚未完成初始化。工程启示IIC 故障恢复不能只依赖 MCU 的外设重新初始化。还必须考虑从机是否仍在运行、它当前处于哪个协议状态以及是否存在独立的复位或电源控制能力。特别是汽车电子、工业控制和电源管理场景需要把总线卡死恢复纳入异常处理流程而不是只在初始化时配置一次 IIC。第二宗罪电源时序异常导致 IIC 器件进入异常状态典型现象IIC 扩展器或其他从机偶尔无法通信SDA 或 SCL 被拉低。重新执行软件初始化可能无效但彻底断电后恢复。根本原因原文使用风扇与 GPIO 扩展器的供电案例说明外部设备的 PWM 或 TACH 信号可能早于 MCU 的 3.3 V 电源出现。在某些电路条件下外部信号可能通过芯片 I/O 引脚的保护结构向未上电的器件反向供电即 Back-powering。随后 DC-DC 电源开始启动供电轨出现异常的上升、下跌和再次上升。此时可能发生器件内部电压未满足正常工作条件Power-on ResetPOR上电复位没有可靠完成内部状态机或寄存器没有进入规定的初始状态器件在异常状态下启动最终无法正常响应 I²C。这类问题的关键并不是 I²C 时钟或数据格式而是器件在供电和复位阶段没有被可靠地带入已知状态。解决办法检查外部信号是否早于目标器件供电有效。确认器件的数据手册是否允许 I/O 在 VDD 未上电时输入高电平。检查 POR/BOR 的电压阈值、复位脉宽及电源上升时间要求。必要时使用具备 I/O 断电隔离能力的缓冲器、总线开关或电源时序控制。对不能可靠自恢复的器件提供独立 RESET 或受控的电源重启机制。工程启示在调试 IIC 之前应先确认目标器件经历了有效、完整的上电复位。软件复位 MCU 并不意味着外部 IIC 器件也被复位。第三宗罪上拉电阻选择不当导致高温下 I²C 通信失败典型现象某个 IIC 器件在常温、低温时工作正常但在高温环境下偶发通信失败。更换芯片、检查软件和抓取协议波形后问题仍然存在。根本原因IIC 的高电平通常由上拉电阻给总线电容充电产生。总线电容包括PCB 走线的寄生电容各器件引脚的输入电容连接器和线缆的寄生电容其他与总线相连的电路所引入的电容。其上升沿近似遵循 RC 充电规律。对于常见的被动上拉网络10% 到 90% 的上升时间可近似表示为上拉电阻过大时上升沿变慢信号可能不能在规定时间内达到接收端要求的高电平阈值(这个就触及到问题的关键了)。但上拉电阻也不能无限减小因为从机拉低总线时必须吸收上拉电流。电阻太小会增大灌电流使低电平电压 VOL 超标甚至超过器件允许的下拉电流。上拉电阻如何计算这里VPU是上拉电压VOLmax是允许的最大低电平电压IOL 是所采用器件在该低电平条件下能够保证的灌电流。最终应选择同时满足两项约束的阻值并检查所有器件的输入电压、输出电流和温度范围。解决办法使用示波器直接测量 SDA、SCL 上升时间。根据总线电容和目标速率计算上拉电阻的可用范围。检查是否存在多个并联上拉电阻避免等效阻值过小。如果总线电容过大考虑缩短走线、减少支路、降低速率或增加合适的总线缓冲器。在温箱中复现问题并对比不同温度下的波形和器件参数。工程启示IIC 的逻辑协议正确并不代表物理层一定可靠。对于间歇性通信错误特别是与温度、线缆长度和总线负载相关的问题必须把上升时间作为独立的检查项。第四宗罪双向电平转换器的工作原理理解错误核心问题3.3 V 主机连接 5 V 从机时如何通过 NMOS 和两侧上拉电阻实现 SDA 的双向电平转换听作者描述这个源自于Facebook的一道关于IIC的面试题中的一张图片根本原理典型的双向 I²C 电平转换电路使用 NMOS 的栅极与低压侧电源相连并在高低压两侧分别配置上拉电阻。其工作依赖开漏信号、NMOS 的导通条件和体二极管。原文将其分成四种情况见图示总结来看场景电路行为转换结果低压侧发送 1低压侧释放 SDAMOSFET 关断高压侧由上拉电阻拉高低压侧发送 0低压侧拉低MOSFET 导通高压侧 SDA 被拉低高压侧发送 1高压侧释放 SDAMOSFET 关断低压侧由自己的上拉电阻拉高高压侧发送 0高压侧拉低体二极管先建立导通条件随后 MOSFET 导通低压侧也被拉低这里最容易混淆的是第四种情况高压侧器件拉低 SDA 时不能只看 MOSFET 栅极电压就认定两侧信号无法传递。体二极管可先使低压侧电位下降随后形成 MOSFET 导通条件让低电平传到另一侧。工程启示电平转换器必须支持双向开漏信号。高低压侧都要有合适的上拉电阻。两侧的上拉电压、器件耐压和输入阈值必须匹配。不能简单地把推挽 GPIO 或普通单向电平转换器直接用于IIC 。使用分立 NMOS 电路时还应核对器件选型、总线电容、上升时间、漏电流和掉电隔离要求。需要补充一点分立 NMOS 方案并不是所有IIC 场景的最佳选择。高速、大电容、热插拔或复杂掉电时序场景应根据实际需求选择专用 IIC 电平转换器或总线缓冲器。第五宗罪ACK 异常与协议帧缺失典型现象MCU 无法访问传感器或其他 I²C 从机软件提示地址访问失败但从波形上看START、地址和数据似乎都已发送。原文揭示的两类问题第一类器件在特定温度下不再正确应答。文章以低温环境下从机不 ACK 为例说明器件本身也可能存在温度边界、时序余量不足或器件质量问题。此时不能一味归咎于 MCU 驱动。第二类软件生成的协议序列缺少必要的 START 或 ACK。文章以图像传感器访问为例指出某些读取事务中漏掉了必要的起始条件或应答阶段导致从机状态机无法按预期工作。即使主机产生了时钟和数据也不代表从机一定理解了这笔访问。正确的调试方法对每次通信逐字节核对START 是否正确产生。地址与 R/W 位是否正确。地址阶段是否有 ACK。寄存器地址阶段是否有 ACK。数据阶段是否有 ACK。最后一个接收字节后主机是否按规范发送 NACK。STOP 是否在正确的时间产生。如果地址阶段没有 ACK优先检查地址、供电、复位、上拉电阻和物理连线如果地址有 ACK、寄存器地址后失败则进一步检查命令格式、寄存器访问要求及器件状态。工程启示ACK/NACK 不只是一个逻辑电平而是帮助定位通信故障的协议证据。必须明确每个 ACK 由谁产生、发生在哪个字节之后以及 NACK 是异常还是主机正常结束读取的动作。第六宗罪寄存器读取事务中错误插入 STOP典型现象IIC 写操作正常但读取寄存器时数据偶尔错误有时读回全 0或读到其他地址的数据。协议分析仪显示时序表面上大致正确。根本原因对于需要先设置寄存器地址、再读取数据的器件标准组合读操作通常如下START→ Device Address W→ ACK→ Register Address→ ACK→ Repeated START→ Device Address R→ ACK→ Data→ NACK→ STOP假设寄存器地址是0x6E。如果主机在写入寄存器地址后错误地产生 STOP整个总线事务就结束了。解决办法对必须使用 Repeated START 的器件不要在中间插入 STOP。对“写寄存器地址 读数据”的组合事务尽可能使用驱动提供的组合传输接口。如果设备要求 STOP应按照其数据手册实现并确保后续操作符合器件协议。对同一 IIC 总线上的并发访问进行互斥保护防止其他任务插入事务。对关键寄存器读取增加返回值校验、设备 ID 校验或合理性检查。工程启示这一案例揭示了一个重要区别总线上的每个字节传输都合法不代表整个应用层事务一定正确。IIC 驱动必须同时保证单次传输的电气时序和多阶段访问的事务完整性。第七宗罪Clock Stretching 与 SCL 毛刺典型现象MCU 访问传感器时持续失败示波器发现 SCL 上存在不同高度的毛刺。工程师尝试增加电容、调整匹配和降低上拉阻值但问题依旧。根本原因从机可能正在执行内部操作需要延迟下一次通信。此时它通过 Clock Stretching 将 SCL 保持在低电平等待自身准备就绪。主机需要等待物理 SCL 真正恢复高电平后才能继续通信。但如果主控制器的 SCL 检测功能受到窄脉冲毛刺影响就可能错误地把一个短暂的高电平脉冲识别为时钟拉伸已经结束从而提前继续操作。实际结果是主机认为 SCL 已经恢复高电平从机仍然将 SCL 拉低主从双方的协议状态发生错位后续数据或 ACK 阶段无法正确完成。解决办法原文提出两类方案。方案一正确支持 Clock Stretching。如果 MCU 的 IIC 外设提供时钟拉伸检测、超时和数字滤波功能应根据目标器件的要求正确配置。对于软件模拟 IIC需要将 SCL 切换为输入或释放状态读取实际总线电平并对异常短脉冲进行滤波。方案二依据器件规格设计等待机制。原文案例中从机在 ACK 后可能需要最多 5 ms 的时钟拉伸时间。作者通过与供应商确认最大等待时间让软件在 ACK 后等待相应时间再开始下一笔操作。不过这种方法只适用于已明确器件行为、时序和总线状态的场景不能作为通用替代方案。尤其是从机可能在 ACK 前就拉伸时钟或者不同操作具有不同的等待时间时固定延时不能保证协议正确。工程启示不能简单认为 SCL 始终由主机单方面决定。对于支持 Clock Stretching 的标准 IIC主机必须尊重总线实际电平。同时要区分两类问题物理层毛刺由布线、耦合、负载或电气设计引起。控制器检测错误由于缺少时钟拉伸支持、滤波不足或超时处理不当导致。两者可能同时存在需要结合示波器波形和控制器寄存器进行定位。至此关于 IIC 协议的介绍就告一段落了。不难发现IIC 的核心难点与绝大多数应用问题最终都会追溯到底层的时序逻辑上。虽然在实际工程开发中我们通常直接调用封装好的读写接口很少需要手动去翻转电平但深入理解底层时序与常用机制依然是排查疑难杂症、提升系统稳定性的关键所在。知其然更要知其所以然希望本篇文章能为你后续的开发和调试提供助力。参考文章I2C的七宗罪-电子工程专辑

相关新闻

新品发布后多久才能被AI推荐?——以iPhone Duo为例

新品发布后多久才能被AI推荐?——以iPhone Duo为例

新品发布后多久才能被AI推荐?——以iPhone Duo为例【摘要】Top1推荐率为0、总提及率仅7.1%:基于4款主流大模型、140个有效回答、9个品牌实测数据,拆解新品从「被报道」到「被AI推荐」的上架时差,将AI上架拆分为3道门槛&#xff0c…

2026/10/13 7:01:55 阅读更多 →
OS_labs内核沙盒:从页表映射到进程切换的可调试x86-64实操指南

OS_labs内核沙盒:从页表映射到进程切换的可调试x86-64实操指南

简介:本资源是一套面向高校操作系统课程学习者的C语言实验项目合集,聚焦进程管理、内存调度、文件系统与系统调用等核心原理的动手实践,适用于具备基础C编程能力的本科生及系统编程初学者。压缩包共12个文件,含5个C源码文件&#…

2026/10/13 7:01:55 阅读更多 →
医疗器械包装运输验证:GB/T4857标准应用与方案设计

医疗器械包装运输验证:GB/T4857标准应用与方案设计

医疗器械包装运输验证这件事,我这两年做得比较多,说句实话,大部分产品出事都出在“纸箱看起来没事,开箱后产品坏了”或者“运输途中振动导致精密部件脱落”这种不起眼的环节上。国内做医疗器械注册,包装验证经常是发补…

2026/10/13 7:01:55 阅读更多 →

最新新闻

Spark每日PV/UV统计的生产级陷阱与调优实战

Spark每日PV/UV统计的生产级陷阱与调优实战

1. 这道题不是考SQL,是考你有没有真正跑过Spark作业“面试分享(Spark实现每天访问的记录数和用户数)”——看到这个标题,我第一反应不是写代码,而是翻出去年帮某电商公司做日志分析时的调试日志。当时一位候选人现场手…

2026/10/13 7:42:10 阅读更多 →
浏览器多开实战:独立用户数据目录实现千分身零冲突

浏览器多开实战:独立用户数据目录实现千分身零冲突

先提醒一句:别急着装什么“多开神器”。你装个不靠谱的工具,要么弹广告,要么偷偷改主页,要么干脆把账号环境搞串,哭都来不及。我一开始也踩过这些坑,后来老老实实回到“自己搭分身”这条路,才真…

2026/10/13 7:42:10 阅读更多 →
netplwiz修改Windows显示名教程:区分账户三层概念与避坑指南

netplwiz修改Windows显示名教程:区分账户三层概念与避坑指南

先说一个结论:netplwiz 能改的是显示名,也就是登录界面、开始菜单上那个“全名”,而不是真正登录系统时的账户名。很多朋友搜“修改电脑用户名”,其实真正想改的只是开机界面上那串拼音或者乱码;而有一部分人则是想把登…

2026/10/13 7:42:10 阅读更多 →
PyTorch原生LSTM时间序列预测实战:从数据预处理到工业部署

PyTorch原生LSTM时间序列预测实战:从数据预处理到工业部署

简介:本资源是一份面向深度学习初学者与时间序列分析实践者的Python代码实现教程,聚焦LSTM模型在股票预测、销售趋势分析、天气预报等典型场景中的落地应用。内容覆盖数据预处理(滑动窗口构造、归一化)、Keras框架下多变体LSTM建模…

2026/10/13 7:42:10 阅读更多 →
菊水149-10A数字高压表功能解析与应用指南

菊水149-10A数字高压表功能解析与应用指南

1. 设备概述与核心功能解析KIKUSUI 149-10A(菊水149-10A)是一款专业级数字高压表,专为精确测量高电压场景设计。这台设备在电力系统检测、工业设备维护以及实验室高压测试中扮演着关键角色。它的核心优势在于能够安全、准确地测量高达10kV的直…

2026/10/13 7:42:10 阅读更多 →
APS 排程系统怎么选:三个能落地的判断标准

APS 排程系统怎么选:三个能落地的判断标准

标题:APS 排程系统怎么选:三个能落地的判断标准很多制造企业上 APS 的初衷,都是被同一件事逼出来的:订单越来越碎、插单越来越频繁,计划员却还在用 Excel 排产,一张表改到凌晨,改完之后车间照旧…

2026/10/13 7:41:10 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →