去年一个工业温控项目结题后我把整套 BOM、固件和调试记录整理了一遍发现 ADS122U04IPWR 加 ATmega1280 这个组合很适合工业与 HVAC暖通空调场景里的温度测量。这次项目里我用 ATmega1280 做主控外接 ADS122U04IPWR 这颗 24 位 Δ-Σ ADC采集 PT100/PT1000 热电阻和 K 型热电偶跑了管道温度、风系统回水温度、设备表面温度好几路信号。这套方案从选型到现场投运都比较顺利但中间也踩了几个只有现场才能遇到的坑。下面按我实际动手的顺序把整个设计讲一遍从选型逻辑、硬件连接、前端电路、UART 通讯协议到校准和验收尽量写到能直接照着复现的程度。1. 选型逻辑为什么用 24 位 UART 型 ADC 来测温1.1 ATmega1280 内置 ADC 为什么不直接用来测温很多第一次做温度采集的人会问ATmega1280 不是自带 10 位 ADC 吗为什么还要外挂 ADS122U04IPWRATmega1280 内置的是 10 位逐次逼近型 ADC满量程按 5V 算一个 LSB 大约对应 4.88mV。在 0 到 100℃ 范围内PT100 的电阻变化约 0.385Ω/℃如果激励电流取 1mA电压变化是 0.385mV/℃。也就是说即使不考虑噪声4.88mV 的量化分辨率也只能勉强分辨约 12.7℃这根本满足不了暖通和工业现场 ±0.1℃ 量级的需求。有人会想我把激励电流加大到 5mA再把信号放大后送给 ADC。但 5mA 流过 PT100 会产生自热100Ω 的电阻上发热功率达到 2.5mW对高精度测温来说已经不可接受了。所以正确的思路不是去迁就单片机内置 ADC而是换一颗真正面向高精度慢速信号测量的外部 ADC。1.2 为什么选 UART 接口而不是 SPI 或 I2CADS122U04IPWR 最特别的地方是它带 UART 接口。常见的精密 ADC 大多用 SPI 或 I2C但我这次做的是分布式 HVAC 和工业设备温度采集传感器前端和主控之间往往隔着几十厘米到一两米线缆甚至更长。SPI 有四根线时钟、数据进出、片选线一长时钟信号上升沿变差、片选时序容易错乱而且抗干扰能力弱容易被电机变频器干扰。I2C 虽然线少但速率低、地址冲突麻烦加上长线电容大上拉电阻调整困难稳定性不好。UART 的优势很直接数据线只有 TX/RX 两根通信双方各自有时钟线缆长度容忍度远高于 SPI。工业现场常见的做法就是把模拟前端做得靠近传感器用 UART 把数据送回主控再进一步转成 Modbus RTU 或 4-20mA 给 PLC。ADS122U04IPWR 本身也带数据就绪引脚主机完全可以通过 DRDY 判断什么时候去读结果不用像 SPI 那样掐着时序反复查询状态位。这里还要补充一个选型理由隔离方便。UART 协议是最容易做光耦隔离的串行协议不需要传时钟只要隔离 TX/RX 两根信号线就行。工业环境里如果现场和主控之间的地电位有差异加上光耦或数字隔离器就能切断地环路SPI 隔离就要复杂得多。1.3 ADS122U04IPWR 的关键参数与温度测量定位ADS122U04IPWR 是 TI 推出的 24 位 Δ-Σ ADC内部集成了可编程增益放大器PGA、两个激励电流源、内部电压基准以及温度传感器。它提供 4 个模拟输入通道可以组成差分输入或单端输入内部基准电压典型值是 2.048VPGA 增益可以从 1 倍一路调到 128 倍两个激励电流源可以给热电阻提供激励这样便不需要外部搭恒流源电路。对温度测量来说这几个资源正好覆盖了最常用的三类传感器场景PT100/PT1000 需要恒流激励和较高分辨率热电偶输出只有几十微伏每摄氏度需要高增益 PGA 来放大冷端补偿需要知道 ADC 附近的温度内部温度传感器正好承担这个任务。此外ADS122U04IPWR 支持低功耗模式在不需要高采样率时可以降到很低的电流对控制柜内散热和长期在线运行都有好处。我实际用下来24 位分辨率里真正能稳定使用的有效位数大概在 19 到 20 位左右配合合适的 PGA 和滤波做到 0.01℃ 的分辨率是没问题的。当然分辨率高不等于精度高后续还要靠基准电阻、校准和布线来保证准确性这点后面单独说。2. ADS122U04IPWR 与 ATmega1280 的硬件连接细节2.1 先从引脚理解 ADS122U04IPWR 的供电与信号分组ADS122U04IPWR 供电分模拟电源和数字电源两部分。模拟电源接 AVDD/AVSS数字电源接 DVDD/DGND。我这次使用单 3.3V 供电AVDD 和 DVDD 都接 3.3V但中间要用磁珠或者小电阻分开模拟地和数字地单点连接目的还是减少数字开关噪声窜到模拟输入。芯片的模拟输入通道是 AIN0 到 AIN3可以配置成多路差分输入。内部还有一个多路复用器可以轮流切换不同通道进行测量。不过要注意逐次切换通道后需要等待转换稳定尤其是前面的通道刚切完建议弃掉前面一两个转换结果再取数。与 ATmega1280 相连的关键引脚主要是三根DIN数据输入、DOUT数据输出、DRDY数据就绪。DOUT 是芯片向主机回报数据的引脚DIN 是主机向芯片发送指令和数据的引脚。DRDY 用来指示转换结果是否准备好准备读数据时它会拉低。UART 的波特率可以配置实际应用中我会倾向于选择 9600 波特率或 115200 波特率具体看线长和干扰情况。2.2 ATmega1280 的 UART 资源分配ATmega1280 一共有 4 个硬件 UART这是选它做主控的重要原因。一个项目里往往不只有一路温度信号可能还要同时连接温度、湿度、压力等多个传感器。4 个 UART 可以灵活分配我这次用 USART0 接 ADS122U04IPWRUSART1 保留给调试串口USART2 接上位机或 Modbus 网关USART3 还可以再接第二块 ADC 做扩展。如果传感器数量很多也可以让一个 ADC 打开内部多路开关把所有模拟输入轮流扫一遍减少主控串口占用。ATmega1280 工作在 16MHz 晶振UART 波特率误差计算中要注意 UBRR 寄存器取值。公式为UBRR F_CPU / 16 / baud - 1以 9600 波特率计算16000000 / 16 / 9600 - 1 103.17取 103 后实际波特率误差约 0.15%这是可以接受的。115200 波特率时取 8误差也很小。现场如果线缆较长我更倾向降到 9600误码率明显降低。2.3 数字地与模拟地的连接原则PCB 布局里最容易出问题的就是地。ADS122U04IPWR 的 AGND 和 DGND 建议在芯片附近的单点汇合不要让数字电流流经模拟信号下方的地平面。我做过几块样板对比分开地平面、单点汇合的板子测量结果的峰峰噪声明显小于随便铺铜的板子。如果你的系统是开关电源供电还要在 AVDD 引脚附近加一个 10μF 钽电容和 0.1μF 陶瓷电容并联。开关电源的纹波通常有几十毫伏直接进 ADC 会表现为转换结果周期性跳动。ADS122U04IPWR 内部虽然有电源抑制能力但不能完全替代外部滤波电容。2.4 隔离和长线传输的工程处理如果 ADC 板离主控板比较远且两点之间的地电位不同建议在 DIN/DOUT 和 DRDY 三根线上加数字隔离器。我这次没有真的把现场供电隔离开但因为控制柜内布局紧凑中间有一段 40cm 的排线我把 DOUT 线做了串联 33Ω 电阻减少信号边沿的反射和振铃。DRDY 信号也要注意上拉电阻。ADS122U04 的 DRDY 是开漏输出还是推挽输出具体看手册我实际习惯给它加一个 10kΩ 上拉到 DVDD保证主机端电平干净。3. RTD 与热电偶的前端电路从毫伏到温度3.1 比例式测量的核心思路ADS122U04IPWR 内部有两个激励电流源这个功能做 RTD 测温时非常关键。常规做法是用外部恒流源给 PT100 供电然后单独读电压但恒流源精度有限且温度漂移不可控。比例式测量的思路是让同一个电流源同时流过参考电阻和热电阻ADC 的参考电压也从同一个电流源获得。这样电流源的波动会被抵消因为电压信号和参考电压同比例变化。以 PT100 为例电流源输出 500μA流过 PT100 后产生电压 V_RTD 500μA × R_RTD。再把同一个 500μA 电流流过精密参考电阻 R_REF产生参考电压 V_REF 500μA × R_REF。ADC 转换结果是 V_RTD / V_REF 的比值约等于 R_RTD / R_REF电流源的漂移被完全消掉。如果选 R_REF 1500Ω那么 V_REF 0.75V。PT100 在 0℃ 时是 100Ω对应 V_RTD 50mV在 200℃ 时约 175.86Ω对应 V_RTD 87.9mV。这个信号量级对 24 位 ADC 来说非常充裕PGA 增益可以设成 1 倍到 8 倍之间不需要盲目放大。3.2 两线、三线、四线 RTD 怎么选两线制最简单一根线给电流一根线采样电压。但导线本身有电阻而且导线电阻随温度变化这会直接引入误差。比如 1 米长的普通铜线截面积 0.5mm²电阻大约 0.03Ω 到 0.05Ω对应 PT100 的误差相当于 0.1℃ 左右。长距离现场布线下这个误差完全不可忽略。三线制是工业现场最常见的做法。三根导线中两根走激励电流一根只用来采样电压电流不经过这根采样线。如果三根线的长度和线径一致导线电阻误差可以通过差分测量基本抵消。HVAC 项目里水管温度、风管温度传感器基本都是三线制因为成本和精度平衡最好。四线制精度最高。两根线提供电流另外两根线独立采样电压采样回路几乎不取电流所以导线电阻造成的误差可以被消除掉。缺点是线缆成本和接线工作量大。通常只有实验室标准级探头才用四线制。我这次在关键回水温度测点用了三线制在设备出厂校验用的高精度比对测点用了四线制。两者实测下来的差距在长线情况下能到 0.2℃三线制已经满足暖通控制要求四线制则用于计量级应用。3.3 热电偶的接入、PGA 增益与冷端补偿热电偶的输出电压非常小K 型热电偶大约 40μV/℃J 型大约是 55μV/℃。如果直接进 24 位 ADC 而不放大虽然理论分辨率够但噪声会淹没信号。所以必须用 PGA 把热电偶信号放大到合适的量程。ADS122U04IPWR 的 PGA 增益设置由寄存器控制。我测 K 型热电偶时使用增益 32对应的差分满量程约 64mV正好覆盖 K 型在 0 到 800℃ 左右大约 33mV 的输出。如果只需要测 0 到 300℃可以把增益提高到 64分辨率更好。增益也不是越高越好PGA 增益越大噪声越小但可测范围缩小超出范围后输出会饱和变成错误读数。热电偶测温还必须处理冷端补偿。热电偶的输出电压是热端和冷端的温差电压如果接线端子那端温度变化读数就会跟着漂。ADS122U04IPWR 内部有一个温度传感器我利用它读取热电偶接线端子附近的温度然后在软件里把那部分电压补偿回去。具体的补偿计算是对热电偶输出加上冷端对应的电压值再查温度-电压表得到最终温度。一定要强调内部温度传感器读的是芯片附近温度如果接线端子距离芯片比较远或板子局部发热严重必须在接线端子附近额外布一个 NTC 或另一路硅温度传感器来做冷端补偿。我后来在 PCB 上把热电偶的冷端引出到靠近芯片的位置才把补偿误差压到 ±0.5℃ 以内。3.4 模拟滤波与工频干扰ADS122U04IPWR 是 Δ-Σ 型 ADC本身有数字滤波特性但输入端仍需要加一阶 RC 低通滤波器。工业环境里大量使用 50Hz 交流电源变频器也会产生丰富的谐波。RC 滤波器的截止频率可以设在 1kHz 到 10kHz 之间电阻不宜太大否则会降低 ADC 输入阻抗影响测量精度。如果数据速率选择在 50SPS 左右数字滤波器本身对 50Hz 工频干扰有很好的抑制这是采用了整周期平均的原理。如果项目所在区域电网是 60Hz则要选择对应抑制的采样速率。这一点在配置寄存器时就要提前考虑好不然后面在 PLC 柜里看到读数波动会很难查到原因。4. 配置寄存器与固件实现让 ATmega1280 和 ADC 真正跑起来4.1 同步时序自动波特率检测、DRDY 和命令帧ADS122U04IPWR 需要先建立 UART 同步。上电后芯片会有一段稳定时间主机不要立刻发有效数据。我实际的上电流程是这样的等电源稳定延时 100ms 以上然后发送一串 0x00 同步字节让 ADC 的 UART 模块自动检测波特率。同步完成后芯片会返回响应之后才能执行寄存器读写和转换启动命令。DRDY 引脚是读取转换结果的信号灯。每次转换完成DRDY 拉低主机可以发送读取命令然后从 DOUT 上连续读取 3 个字节组成 24 位数据。如果主机不管 DRDY直接发 RDATA 命令有可能读到旧数据甚至读到正在更新的中间值。所以不管代码怎么写一轮轮询里必须判断 DRDY 电平。ADS122U04IPWR 的命令字格式并不复杂常见操作包括写寄存器、读寄存器、读转换结果、启动转换、进入低功耗待机。具体命令字数值建议以数据手册为准下面代码里我给出的是通用框架重点不在默写命令字而是让通信逻辑可复用。4.2 初始化代码示例下面是一段基于 AVR 库的示意代码重点是 UART 初始化和写寄存器流程。实际寄存器值和位域要对照 ADS122U04IPWR 的最新数据手册不同批次芯片虽有兼容性保证但应以前后参考手册一致为准。#include avr/io.h #include avr/interrupt.h #include util/delay.h #define F_CPU 16000000UL static void uart0_init(uint32_t baud) { uint16_t ubrr F_CPU / 16 / baud - 1; UBRR0H (uint8_t)(ubrr 8); UBRR0L (uint8_t)ubrr; UCSR0B (1 RXEN0) | (1 TXEN0); UCSR0C (3 UCSZ00); /* 8数据位 1停止位 无校验 */ } static void uart0_putc(uint8_t c) { while (!(UCSR0A (1 UDRE0))); UDR0 c; } static uint8_t uart0_getc(void) { while (!(UCSR0A (1 RXC0))); return UDR0; }写寄存器逻辑static void ads122u04_write_reg(uint8_t reg, uint8_t value) { /* 先发送 WREG 相关命令字节再发数据 这里命令字和寄存器地址编码具体查手册 */ uart0_putc(0x40 | (reg 0x07)); uart0_putc(0x00); uart0_putc(value); } static void ads122u04_init(void) { /* 上电稳定 */ _delay_ms(100); /* 发送同步字节触发自动波特率检测 */ for (uint8_t i 0; i 16; i) { uart0_putc(0x00); _delay_ms(1); } /* 切换通道、PGA、基准、激励电流等按需求写寄存器 */ ads122u04_write_reg(0, 0x00); /* MUX配置、PGA增益 */ ads122u04_write_reg(1, 0x00); /* 基准电压、电流源配置 */ ads122u04_write_reg(2, 0x00); /* 数据速率与滤波 */ ads122u04_write_reg(3, 0x00); /* 其他功能设置 */ }有人会问代码里这些 0x00 是不是不准确确实真实项目里每个寄存器都有明确的位域组合我这里只展示框架避免读者照抄却在寄存器上踩坑。调试时最好用逻辑分析仪抓一次 UART 波形确认命令字节和返回数据是否正确。4.3 读取与换算从原始码到电阻值读数据的过程相对固定等待 DRDY 拉低发送 RDATA 命令连续读 3 个字节拼成一个 24 位数据。ADS122U04 的输出是二进制补码格式正满量程对应参考电压负满量程对应负参考电压。拼数据时要注意符号扩展。以比例式 RTD 测量为例原始码和电阻值的关系是R_rtd raw_code / 2^23 × R_REF / PGA此处 PGA 是实际增益R_REF 是外部精密参考电阻。注意如果参考电压是由同一个激励电流流过 R_REF 产生则这个公式成立这是比例式测量的关键。完整读取和换算函数可以这样写static int32_t ads122u04_read_raw(void) { uint8_t buf[3]; int32_t raw; /* 等待 DRDY 引脚拉低 */ while (PINB (1 DRDY_PIN)); /* 假设DRDY接在PBx */ uart0_putc(0x10); /* RDATA命令按手册确认 */ buf[0] uart0_getc(); buf[1] uart0_getc(); buf[2] uart0_getc(); raw ((int32_t)buf[0] 16) | ((int32_t)buf[1] 8) | (int32_t)buf[2]; if (raw 0x800000) { raw | 0xFF000000; /* 24位补码扩展为32位 */ } return raw; }得到原始码后RTD 电阻值计算公式double raw_to_rtd_resistance(int32_t raw, double rref, double pga) { return (double)raw / 8388607.0 * rref / pga; }这里 8388607 就是 2^23 - 1正值满量程。如果是负温度原始码为负值直接乘除即可。PT100 的温度换算是把电阻值换算成温度比较常用的近似公式是R(T) R0 × (1 A×T B×T²)其中 R0 100ΩA 3.9083×10⁻³B -5.775×10⁻⁷。代入 T 范围 0 到 200℃这个公式精度大约在 0.1℃ 以内。如果需要负温度还要加一个三次项。认真做的项目我建议用查表法加上插值把国际温标表保存在 Flash 里查表精度最高。4.4 断线检测和软件滤波温度传感器在现场最常出的问题就是断线。PT100 断线后测量回路变成开路ADC 输入会被拉到某个固定电平通常表现为满码或负满码。我做的固件里会检查原始码是否接近正负满量程如果连续 5 次读到的都是临界值就判定传感器断线直接把这个测点置为故障状态防止把异常温度送到 HVAC 控制器。热电偶断线就更常见了因为热电偶线很细震动容易断。热电偶断线时输入阻抗极高ADC 会收到一个接近电源轨的电压输出满码。判断逻辑和 RTD 一样但要特别留意冷端补偿的正常范围不能因为冷端温度变化误报。软件滤波我用的是滑动平均加中值滤波结合。先取 5 个点做中值滤波剔除突刺再对连续 20 个中值结果做平均。这种做法的好处是响应速度不算慢又能压掉变频器产生的周期性尖峰。实测下来滤波后的温度曲线非常平滑稳定度能到 ±0.01℃ 以内。5. 校准、现场问题与长期稳定性的经验5.1 两点校准和电阻箱标定ADC 芯片再精准系统层面仍可能存在增益误差和零点误差。最常见的原因是 R_REF 电阻精度不足、PCB 铜箔电阻导致测量偏差、以及 ADC 偏移电压。所以出厂前最好做一次两点校准。我的做法是准备两个高精密电阻箱一个设置在 0℃ 对应的 100Ω一个设置在 100℃ 对应的 138.51Ω分别接到 RTD 通道读原始码。按公式反算实际增益实际增益 (码值差异 / 理论码值差异)然后把这个增益系数写入固件作为校正因子。如果现场用冰水混合物做 0℃ 校准也可以但冰水法的人为误差较大不如电阻箱稳定。对于热电偶通道我会用标准毫伏信号源输入几个已知电压把电压到温度的曲线做一次平移和缩放。校准后整套系统在 0 到 100℃ 范围内实测误差可以控制在 ±0.05℃ 以内远远满足 HVAC 和一般工业控制的 ±0.2℃ 到 ±0.5℃ 要求。5.2 现场 EMC 干扰从屏蔽到逻辑滤波这个项目里第一个现场问题出现在一台大功率风机旁边。风机刚启动时温度读数偶尔会跳 0.5℃ 左右持续几百毫秒然后恢复正常。开始我以为是传感器接插件松动后来用示波器去抓 ADC 输入波形发现是风机的变频器产生的共模干扰叠加在长线上。处理分为三层第一层是模拟输入端的 RC 电容由 1nF 加大到 10nF把高频干扰在 ADC 前端滤掉第二层是把热电偶和 RTD 的连接线换成屏蔽双绞线屏蔽层只在 ADC 板一侧接地第三层是软件中值滤波把偶发的干扰尖峰剔除。三层做完以后风机启停时读数波动基本看不出来了。这里有个容易忽略的点屏蔽层不能两端接地。两端接地会在屏蔽层上形成地环路电流反而把干扰耦合到信号线里。我只在靠近 ADC 板的一端接地另一端悬空或者通过一个小电容接地实测效果最好。5.3 长期部署后的几个细节项目投运半年后我复查了一次数据发现有一个测点的温度比相邻测点一直偏高约 0.15℃。排查发现是那个 RTD 探头安装位置太靠近水管外壁导热硅脂的局部热点不是 ADC 的问题。这个经验提醒我精度是信号链的事情但准确性也依赖探头安装方式两者要分开看待。还有一个细节是关于 R_REF 电阻的我在前面提了好几次但值得单独强调。R_REF 一定要选低温漂、高精度的金属膜电阻温度系数至少在 25ppm/℃ 以下精度 0.1% 或更好。普通 1% 贴片电阻做 R_REFADC 再干净最终读数也会随着环境温度变化。这颗电阻是整个测量链里最关键的无源器件不要省。最后一个和 MCU 相关的经验ATmega1280 的 UART 接收端要加简单的帧超时保护。ADS122U04 的通信偶尔会因为干扰漏掉一个字节让后面所有字节错位。我在代码里加了同步检测如果连续收到不合理的地址或长度就重新发送同步字节再初始化一次寄存器配置这样能自动恢复通信不需要人工重启控制器。这个自恢复逻辑放在工业设备上非常实用因为现场维护人员不会用示波器去抓串口波形只能靠看门狗和软件自愈。整套项目做下来我的体会是ADS122U04IPWR 和 ATmega1280 的组合在温度采集领域非常成熟前者负责把微弱模拟信号变成干净的数字量后者负责通信、逻辑、换算和故障处理。硬要说哪个环节最难反而不是芯片本身而是参考电阻、传感器安装、滤波和校准这些容易被忽视的工程细节。希望这篇记录能给正在做工业或 HVAC 温度测量的人一些参考少走几步弯路。
企业数字化 ERP 产品动态
相关推荐
ADS122U04+PIC18F46K42:高精度PT100温度采集方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 1:03:27
基于ADS122U04与PIC18F66K40的工业温度采集系统设计 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 1:03:27
ADS122U04IPWR+STM32F723ZE工业温度测量系统设计 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 1:03:27
16卡GPU首秀,国鑫荣膺Intel 2026年度渠道DCAI核心合作伙伴 近日,以“同芯智远”为主题的2026英特尔技术创新与产业生态大会(Intel Connection 2026)在苏州热力开场!作为英特尔面向全行业的年度旗舰活动,本届大会聚焦智能体AI、AIPC、数据中心、边缘计算、物理AI及产业创新等关键… · 2026/11/5 1:46:39
高项:知识域+绩效域(仅笔记) 一、整合管理
1.制定项目章程( 开展一次 或仅在预定义点开展 ) 输入: 建.研.评.事.组 输出: 章.假
输入: 立项管理文件( 项目建议书 , 可行性研究报告 , 项目评估报告 )事业环境因素 , 组… · 2026/11/5 1:46:39
Vorssaint:把逐应用音量、系统监控和窗口吸附装进 macOS 菜单栏 Vorssaint:把逐应用音量、系统监控和窗口吸附装进 macOS 菜单栏 【免费下载链接】vorssaint-utils Free and open-source macOS menu bar toolkit. 项目地址: https://gitcode.com/GitHub_Trending/vo/vorssaint-utils
Vorssaint 是一款免费、GPL-3.0 开源的… · 2026/11/5 1:46:39
10个你可能不知道的KernelSU隐藏功能:.ksurc、ADB Root与内核umount实用技巧 【免费下载链接】KernelSU Personal fork of KernelSU Project 项目地址: https://gitcode.com/gh_mirrors/kern/KernelSU 点击查看 免费下载 KernelSU 是一款运行在内核层的 Android Root 框架,除了常见的提权和模块管理,它还藏着不少实用功… · 2026/11/5 1:46:39
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
多智能体协作系统架构设计与实践优化 1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39
大模型系统性入门实战指南:从原理到部署微调的全链路路线 提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39
鸿蒙文件系统沙箱机制解析与开发实践 1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38