news 2026/11/5 1:06:49

ADS122U04与MKV44F工业温度采集方案:从原理到调试全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ADS122U04与MKV44F工业温度采集方案:从原理到调试全解析

做工业现场的温度采集,我手边最顺手的组合之一就是 TI 的 ADS122U04IPWR 和 NXP 的 MKV44F256VLH16:前者是 24 位带 UART 接口的 Δ-Σ ADC,后者是 Kinetis V 系列 Cortex-M4F 工业 MCU。这套方案我在 HVAC 和工业测温项目里搭过不止一版,从 PT100、PT1000 到热电偶都走过一遍,今天把选型思路、测量原理、寄存器配置、驱动代码框架和现场踩坑一起梳理出来。如果你是做仪器仪表、楼宇自控、机房温控或者 PLC 扩展测温模块的工程师,这篇文章应该能帮你少走不少弯路。

1. 项目整体设计:为什么这套 ADC + MCU 组合适合工业测温

1.1 传感器信号太弱,MCU 内置 ADC 扛不住

先说一个最现实的问题:工业温度传感器的输出信号量级非常小。PT100 在 0℃ 时电阻 100Ω,温度每升高 1℃ 电阻只增加约 0.385Ω;PT1000 好一点,但也只有约 3.85Ω/℃。如果供电电流取 1mA,PT100 的温度系数折算成电压也就是 0.385mV/℃。K 型热电偶更夸张,灵敏度只有几十微伏每摄氏度,几米的补偿导线加进去,噪声可能都比信号大。

这种量级的信号直接送 MCU 内置 12 位 ADC,结果就是每 LSB 对应的温度非常大,读数跳个不停。3.3V 满量程下 12 位 ADC 的分辨率约 0.8mV,折算到 PT100 差不多是 2℃ 的跳动,这还没算参考电压温漂、电源纹波和 PCB 噪声。而 ADS122U04IPWR 这类 24 位 Δ-Σ ADC 通过过采样和噪声整形,能把有效分辨率做到 18 位以上,内部还集成了可编程增益放大器 PGA、两个 IDAC 电流源、内部基准和温度传感器,外围只要几颗滤波电容就能干活。MCU 内置 ADC 不是不能用,但要做到同样的精度,你得外置仪表放大器、精密基准、低通滤波器,板子面积和调试成本反而更高。

这个取舍在项目一开始就要想清楚:如果只是做 0.5℃ 分辨率、几十毫秒刷新一次的玩具级测温,MCU 内置 ADC 加 NTC 分压就行;但凡信号源是 PT100 或热电偶、要求长期稳定、还要过 EMC 测试,独立高精度 ADC 基本是绕不开的。

1.2 UART 接口是现场布线的"最优解"

ADS122U04 和同系列的 ADS122C04 最大区别就是通信接口:前者是两线 UART,后者是 I2C。选 UART 不是因为它快,恰恰是因为它慢、它简单、它适合长线。

对比一下就很清楚。SPI 驱动 ADC 需要 CLK、MISO、MOSI、CS 四根线,通信速率高,但距离稍微拉长之后时钟和数据之间的偏移、反射、串扰都会冒出来,而且隔离也要做四路。I2C 是两线制,但要开漏上拉,远距离驱动能力弱,还需要给每个设备分配地址,传感器一多管理就麻烦。UART 本质是异步串行,两线全双工,电平摆幅大,波特率降到 9600 或 19200 之后,双绞线跑几十米问题不大;想隔离就加一个两通道数字隔离器,成本低,布线也简单。

HVAC 和工业现场的场景特别适合这个特性:温度传感器往往分布在风机盘管、风管、冷冻水管、电控柜各个角落,ADC 板贴近传感器布置,MCU 主机放在控制柜里,中间就是一对 UART 线。而且 ADS122U04 内部自带数字滤波器,对 50/60Hz 工频干扰有抑制能力,配合低波特率传输,抗干扰优势非常明显。

1.3 MKV44F256VLH16 在系统里的定位

MKV44F256VLH16 是 NXP Kinetis V 系列,Cortex-M4F 内核,168MHz 主频,256KB Flash,LQFP64 封装。这个系列面向电机控制和工业应用,内部定时器、PWM、ADC 资源都非常丰富,比普通 MCU 强在抗干扰设计和工业外设上。

在这套系统里它承担三件事:第一,作为 UART 主机,按固定周期轮询一个或多个 ADS122U04;第二,把收到的 24 位原始码滤波、换算成实际温度;第三,跑控制逻辑,比如 PID 调节加热器、风机、电动阀。M4F 内核带硬件浮点单元,单精度 PID 运算毫无压力,168MHz 主频也能保证 TFT 显示、通信协议栈、控制计算同时跑不卡顿。

有些工程师会选普通 Cortex-M0+ 或者 STM32F103 来干这个活,也不是不行。但 KV44F 的 PWM 发生器、正交编码器接口、故障输入这些外设,都是为驱动电机和阀门准备的,后期如果要把温控和风机调速集成到同一块板子上,KV44F 的优势就会体现出来。我的建议是:前期只做测温节点用低端 MCU 够用,但如果这个项目大概率要扩展到控制执行机构,直接上 KV44F 免得二次改板。

2. ADS122U04IPWR 温度测量原理与寄存器配置

2.1 RTD 比例测量:把导线电阻误差直接"算掉"

RTD 测温最经典的方法是比例测量,这也是 ADS122U04 这类 ADC 设计意图里最核心的场景。比例测量的思路是:让同一个 IDAC 电流源分别流过基准电阻 R_REF 和被测的 RTD,然后把 RTD 上的电压和 R_REF 上的电压做比值。因为电流源是同一个,电流的绝对精度和温漂会被约掉;只要 R_REF 是精密电阻,测得就是电阻比,天然就是高精度。

具体接线是:IDAC1 电流从 ADC 的 IDAC1 引脚流出,经 RTD 后回流,再流经 R_REF 到地。ADC 以 R_REF 两端的电压作为外部基准 V_REF,RTD 两端电压作为差分输入。转换完成后,按 ADS122U04 数据手册中的公式换算,核心关系是:

R_RTD = (ADC_CODE / 满量程码值) × R_REF

三线制 RTD 在这个电路里很有讲究:三根线中,一根提供激励,一根是信号线,一根公共回线。因为激励电流在线缆上产生的压降不在测量路径里,所以比两线制准得多。两线制把激励线和信号线混在一起,长线缆的几十欧姆电阻会直接叠加进测量结果,工业现场很难接受。

这里特别提醒选 R_REF 的标准:精度至少 0.1%,温漂尽量选低至 5ppm/℃ 的,否则它的漂移会直接变成温度误差。我一般选金属箔电阻或高精度薄膜电阻,阻值取 1kΩ 到 4kΩ 之间,取决于 RTD 类型和 IDAC 电流档位。IDAC 电流也不是越大越好,电流大会让 RTD 自身发热,自热效应反过来干扰测量;PT100 通常推荐 250µA-1mA,PT1000 用 250µA-500µA 比较稳妥。

2.2 热电偶测量:冷端补偿不能偷懒

热电偶输出的是热端和冷端的温差电势,温度信号是差分微伏量级,所以必须用 PGA 放大后再进 ADC。K 型热电偶约 41µV/℃,J 型约 52µV/℃,放大增益设在 32 到 128 档位,具体档位按量程和数据手册选。

这里最容易翻车的是冷端补偿 CJC。热电偶测的是热端相对于冷端的温差,实际温度 = 冷端温度 + 热电势对应的温度。如果冷端(也就是热电偶连接到 ADC 板的接线端子)温度不稳定,读数就一定不准。ADS122U04 内置了温度传感器,也可以用外接 NTC 贴在端子上,软件里先读冷端温度,再换算成对应的热电偶补偿电压加回去,最后查 NIST 分度表得到热端温度。

我的经验是:内置温度传感器省事,但它的位置往往在芯片内部,而芯片本身会发热,导致补偿值和真实端子温度有偏差。如果要求精度高,用外置 NTC 或 DS18B20 紧贴接线端子安装,再做一次两点校准,把偏差写进 MCU 的 Flash。千万别把补偿传感器放得离端子和发热器件都很远,那样补偿就变成"测了个寂寞"。

2.3 NTC 热敏电阻也有用武之地

除了 RTD 和热电偶,工业 HVAC 里大量用 NTC 热敏电阻做回风温度、盘管温度、水温监测。NTC 的方案更便宜,但换来的代价是需要非线性矫正。最常见的是 10kΩ@25℃ 的 B 值型 NTC,配一个 10kΩ 精密电阻分压,ADC 测中点电压。

换算用 B 值公式:

R = R25 × exp(B × (1/T - 1/T0))

其中 T0 = 298.15K。反过来求温度:

T = 1 / (1/T0 + ln(R/R25) / B) - 273.15

B 值一般在 3380 到 3950 之间,不同厂商差很多,必须用规格书给的值。想要更高精度就用 Steinhart-Hart 方程:1/T = A + B×ln(R) + C×(ln(R))³,三个系数在规格书或网上计算器里都能拿到。NTC 的好处是灵敏度高,25℃ 附近变化率能达到 -4%/℃ 左右,缺点是线性度差,温度越高分辨率越低。所以系统设计时要保证 ADC 分辨率足够,否则高温段读数会粗糙。

2.4 寄存器配置思路与 UART 通信命令

ADS122U04 的配置寄存器并不多,但每个位都关键。我的配置顺序是:

  1. 配置输入多路复用器,选通道和测量模式(差分还是单端);
  2. 配置 PGA 增益,RTD 用 8-16 倍,热电偶用 32-128 倍;
  3. 配置 IDAC 电流源和输出引脚,让电流正确流过 RTD 和 R_REF;
  4. 配置内部基准还是外部基准,RTD 比例测量必须用外部基准接 R_REF;
  5. 配置数据速率和滤波器,工业现场选 20sps-100sps,配合内置 50/60Hz 抑制;
  6. 配置单次转换还是连续转换模式。

配置完成后,通过 UART 发命令触发转换,再读转换结果。通信格式是标准的,命令码和寄存器地址要以数据手册为准。这里我放一段示意代码,说明它与 MCU 的交互思路:

// 示意代码,具体命令码以 ADS122U04 数据手册为准 uint8_t cfg_regs[] = { 0x40, 0x56, 0x00 }; // 写寄存器配置:PGA、MUX、IDAC uint8_t start_cmd[] = { 0x08 }; // 启动单次转换 uint8_t read_cmd[] = { 0x10, 0x00, 0x00 }; // 读转换结果 24bit uart_send(cfg_regs, sizeof(cfg_regs)); delay_ms(1); uart_send(start_cmd, sizeof(start_cmd)); delay_ms(20); uart_send(read_cmd, sizeof(read_cmd)); uart_receive(raw, 3); int32_t code = (raw[0] << 16) | (raw[1] << 8) | raw[2];

需要强调:不同版本固件、不同封装型号的寄存器映射可能有差异,网上抄来的旧代码一定要拿最新数据手册逐个位核对。我曾经因为直接复用 ADS1220 的寄存器配置,结果增益档位完全不对,读数差了十万八千里。ADC 配置这种事,宁可慢一点查手册,也不要赌。

3. MKV44F 端驱动代码与数据处理流程

3.1 UART 初始化与通信基石

MKV44F 这边的第一步是把 UART 波特率、数据位、校验位、停止位配置成和 ADS122U04 一致。ADS122U04 支持多档波特率,具体通过配置引脚或命令确定,我常用 9600 或 19200,因为波特率低抗干扰强,ADC 本身数据率也不高,完全没有必要跑 115200。

初始化代码示意:

// MKV44F UART 初始化示意 void adc_uart_init(void) { // 使能 UART2 时钟,配置引脚复用为 UART_TX / UART_RX SIM->SCGC1 |= SIM_SCGC1_UART2_MASK; PORTE->PCR[0] = PORT_PCR_MUX(3); // TX PORTE->PCR[1] = PORT_PCR_MUX(3); // RX UART2->BDH = 0; UART2->BDL = 9600_BDL_VALUE; // 根据总线时钟计算 UART2->C1 = 0; // 8 位数据,无校验 UART2->C2 = UART_C2_TE_MASK | UART_C2_RE_MASK; }

这里的波特率寄存器值要根据你的总线时钟频率重新算,Kinetis 的 UART 分频逻辑在老手册里有表可查,直接套用别的项目的库函数要小心。

3.2 轮询式采集状态机,别用阻塞

MKV44F 在项目里不只是跑采集,还要管显示、按键、PID、通信。这时候如果用简单的"发命令-延时-等接收"阻塞流程,整个控制周期都会被拖垮。我的做法是做一个小的状态机,每个 tick 轮询一次。

typedef enum { ST_IDLE, ST_SEND_CMD, ST_WAIT_RESULT, ST_PARSE, ST_ERROR } adc_state_t; void adc_poll(void) { switch (state) { case ST_IDLE: uart_send(start_cmd); state = ST_WAIT_RESULT; last_tick = tick_count; break; case ST_WAIT_RESULT: if (uart_rx_ready()) { uart_read(raw, 3); state = ST_PARSE; } else if (tick_count - last_tick > 100) { state = ST_ERROR; // 超时,通信链路可能异常 } break; case ST_PARSE: code = (raw[0] << 16) | (raw[1] << 8) | raw[2]; temperature = convert_to_temp(code); state = ST_IDLE; break; case ST_ERROR: // 记录错误计数,决定是否重启 ADC state = ST_IDLE; break; } }

状态机的好处是即使 ADC 偶尔无响应,MCU 也能在超时后恢复,不会卡死在某个延时函数里。这个设计在 HVAC 主控板上特别重要,因为风机调速、故障保护这些任务优先级更高,不能因为一个温度探头坏了导致整个系统停摆。

3.3 原始码转温度:滤波、换算式与查表

24 位 ADC 的原始码虽然是高分辨率,但工业现场噪声仍然会让最低几位跳动。我的经验是先做一次滑动中值滤波,窗口取 5 到 9 个采样点,把尖峰毛刺去掉;再做一阶低通滤波,系数 alpha 取 0.1 到 0.3,这样曲线平滑又不至于反应过慢。窗口太大、低通系数太小,就会出现加热器都开了十几秒温度还没跟上来的现象。

换算流程分三步。第一步,根据比例测量关系把原始码换算成电阻值。第二步,根据电阻值查分度表,典型的是 PT1000 的 R-T 对照表。第三步,在表中用线性插值算出精确温度。示意代码:

float adc_code_to_rtd(int32_t code) { // 比例式测量:R_rtd = code / 满量程 × R_ref // 满量程码值按 24 位无符号计,实际公式参照手册 float ratio = (float)code / 8388607.0f; return ratio * 1000.0f; // R_ref = 1kΩ } float rtd_to_temperature(float r) { // 简化示例:PT1000 在 0~100℃ 近似线性 // 严格场景应使用分度表 + 查表插值 return (r - 1000.0f) / 3.85f; }

PT1000 的 0~100℃ 线性近似只是演示思路,实际工程要用标准分度表。查表时不要一个个循环找,用二分法在 100 个点的表里找区间,速度很快。分度表有两种来源:IEC 60751 标准表或者大品牌传感器厂家的出厂对照表,后者更贴合你的实际探头。

3.4 顺带解决 HVAC 温控 PID 波动大的问题

很多人在 HVAC 项目里做完温度采集,下一步就是连 PID。我也常被问到"温度 PID 波动大、温差大怎么调"。这里集中讲讲我的经验。

温度控制的被控对象普遍有大惯性、大滞后,而且执行机构往往是加热器或者风机这种非线性环节。温差波动大的根源通常不是单纯 PID 参数差,而是控制策略有问题。最常见的情况:

  1. 采样周期太短或太长。采样太短,PID 把噪声当真值,输出跟着抖;采样太长,滞后变大,系统容易振荡。一般温控回路采样周期选 0.5s 到 2s 比较合适。
  2. 微分项 D 被放大器放大的噪声"绑架"。温度变量本身就平滑,D 项很容易在误差跳变时产生尖峰输出,我一般先设 D=0,跑通了再加一点点。
  3. 积分饱和。加热器输出限幅在 0~100%,如果一直达不到设定值,积分项会累积到非常大,等误差反转时输出还顶着上限,超调自然严重。解决办法是抗积分饱和,输出饱和时冻结积分或者直接限制积分区间的累积。
  4. 执行机构死区。全开全关的加热器配上过大的 P,必然反复开关振荡。要么加 PWM 比例输出,要么用死区继电器控制。

调参顺序我的建议是:先纯 P 增大到系统开始等幅振荡,记下临界增益和临界周期,然后按 Ziegler-Nichols 的经验公式下调;如果现场不允许振荡测试,就保守一点,P 给一个不大不小的值,I 时间设为系统响应时间的 1/5 左右,D 保持 0。实测下来,暖通温度控制用 PI 就够了,D 项大多数时候是帮倒忙。

4. 硬件设计与现场调试实操

4.1 原理图三大关键点:电源、基准、隔离

ADS122U04 的模拟电源 AVDD 一定要和 MCU 的数字电源分开处理。我通常用一片低噪声 LDO,比如 LP5907 或 TPS7A20 系列,从 5V 或 24V 取电,输出 3.3V 专门给 AVDD,REF 引脚旁放 100nF 和 10µF 的电容,并且紧靠芯片引脚。模拟电源不干净,ADC 的噪声地板就会抬升,数据处理阶段再努力也白搭。

基准电阻 R_REF 旁边要预留足够空间,尽量远离大电流走线和电感。UART 两线如果需要长距离传输,中间加数字隔离器,比如 ISO7721 或 IL7121。隔离之后要注意,隔离器两侧的电源必须独立,不能用同一个 3.3V 乱七八糟供两边,否则隔离失去意义。

另外,传感器端子进来之前建议加 TVS 和 ESD 保护。现场长线缆很容易感应浪涌和静电,这部分成本就几毛钱,但能救回一片本来会挂掉的 ADC。

4.2 PCB 布线布局经验

布局上我踩过几个坑,提醒大家注意。ADC 下方铺模拟地,并且模拟地和数字地单点连接,不要用一块完整地平面到处走。UART 数字线不要穿过 ADC 模拟输入区域,否则高频翻转的边沿会耦合到差分信号线,读数会额外跳一两个码。

RTD 和热电偶的模拟输入是差分对,尽量走短线、等长、平行,两边包地。工业现场传感器线缆建议选双绞屏蔽线,屏蔽层只在 ADC 板侧单端接大地,千万别两端都接地。我见过两次地环路造成的读数漂移,都是屏蔽层两端接地的锅。

还有一个容易被忽略的点:热电偶冷端补偿端子最好布置在板边,远离 MCU 和电源芯片这些发热大户。芯片温度哪怕只比环境高 3℃,补偿误差就是 3℃。如果你打算在板上做小型化,务必把发热源和补偿传感器隔开至少 1cm,必要时开散热孔。

4.3 调试三板斧:先隔离变量,再逐级排查

调试这套系统的第一步不是直接连 MKV44F,而是先用 USB-TTL 模块直接和 ADS122U04 通信。把 ADC 板的 UART 引脚拉出来接 USART,串口助手发命令,看能不能收到正确回包。这一步能确定 ADC 本身、时钟配置、通信链路都是好的,把底层的坑先排除掉。

第二步是写一个最小固件烧进 MKV44F,不做 PID、不跑显示,只做一件事:循环发送转换命令,把读到的原始码通过另一个串口打印到电脑。这个阶段我一般会加一个"自检模式":把 ADC 输入直接短接到地,看码值是不是接近 0;再接到基准电压,看码值是不是接近满量程。两个极端值都对了,中间范围基本就没问题。

第三步才接传感器。接上实体传感器后,拿万用表测 RTD 两端电压、基准电阻两端电压,估算理论码值和实际码值是否对得上。对不上的话,优先怀疑接错线、增益设置错误、基准电阻焊错型号。

最后用示波器看 UART 波形。长线场景重点看上升沿和下降沿是否太钝、有没有反射。如果边沿都不成样,后面的通信错误和偶发掉线就能解释了。

5. 常见问题与排查技巧实录

5.1 温度读数异常的排查速查表

故障现象可能原因排查与处理建议
读数跳变,无规律抖动供电噪声大、PGA 增益过高、屏蔽层接地不对先短接差分输入看码值,确认是前端还是后端;检查 AVDD 纹波;适当降低数据速率
读数整体偏高且随线缆长度变化两线制 RTD 引线电阻串入测量路径改用三线制或四线制,或者在软件里做引线电阻修正
UART 一直收不到响应波特率不匹配、共地问题、隔离器方向接反用 USB-TTL 单独连 ADC 排除;检查 TX/RX 是否交叉;确认隔离器两侧电源
温度响应非常慢滤波窗口太大、数据率太低减小中值窗口,调高一阶低通系数,或者提高 ADC 数据速率
高温段读数不准NTC 非线性、查表区间不够密改用 Steinhart-Hart 方程,或者加密分度表、用非线性插值
热电偶到了晚上读数偏了很多冷端补偿被发热器件影响移动补偿传感器位置,做两点校准后写入 Flash

5.2 现场实战:一个跳变案例和一个接错线案例

我记得在一台风管温度测控项目里,探头接上后读数每秒跳 0.5℃,PID 输出也跟着抖,风机发出明显的噪音。第一反应以为是 ADC 坏了,后来按上面顺序排查:先用 USB-TTL 单独测 ADC,短接输入误差很小,说明 ADC 和 MCU 都没问题;再去现场看走线,发现传感器线跟变频器输出电缆绑在同一个线槽里,而且屏蔽层在两端都接了地。把屏蔽层改成单端接地,再把传感器线绕开变频器电缆,读数立刻稳定下来。这个案例教会我,现场干扰十有八九是布线问题,不是芯片问题。

另一个是 PT100 三线制接错的案例。现场工人把激励线和信号线对调,导致测出来的温度线性偏差很大,而且室内外温差越大误差越明显。电路上三线制的两个激励引脚本身是对称的,接错后激励电流经过的回路变了,R_REF 两端的基准电压也变了,温度自然差得离谱。最后对照接线图一根根量通断才找出来。三线制接线端子建议用颜色或者编号明确标注好,并且在外壳上贴一张接线图,能省大量现场沟通成本。

说回这套方案,我最满意的其实是它的"边界感":模拟采集交给 ADC,数字控制交给 MCU,中间只用一对 UART 线,每一级都能独立测试验证。出了问题,先测通信再测传感器线,逐级剥离,现场维护的同事也不需要懂很深就能上手定位。如果之后再做一版,我会把探头类型、量程、滤波器档位全部做成配置项存进 Flash,现场改传感器型号不用重新烧录固件,直接通过串口命令更新参数,这套架构的灵活性就基本拉满了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/5 1:06:49

工业与HVAC高精度温度测量:ADS122U04与PIC24FV16KA301方案实战

/* 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:06:35

S7-200 SMART Modbus RTU数据侦听实战:报文解析与CRC校验

/* 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:06:34

ADS122U04+STM32F446ZE:兼顾热电偶与RTD的高精度温度采集方案

/* 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:04:37

基于ADS122U04与STM32F042K6的工业级温度采集方案设计与实现

/* 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:04:24

基于ADS122U04与PIC32的工业级RTD测温方案设计

/* 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:04:00

UART接口ADC实现长距离RTD测温:ADS122U04与STM32F091RC实战

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

作者头像 李华