尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
24位Δ-Σ ADC + 8位MCU:工业与HVAC温度测量实战
做温度采集这些年我见过不少同行在第一版就栽在同一个地方直接用 MCU 内部 ADC 去采传感器分辨率不够、温漂压不住、校准没两天又飘回去项目只能返工。今天想聊的是另一条路——拿 ADS122U04IPWR 这种 24 位 Δ-Σ ADC 当模拟前端配 PIC18F86J15 当控制器专做工业和 HVAC 应用里的温度测量。这套组合能覆盖 PT100/PT1000、K 型热电偶、NTC 几种最常见的探头做到 0.1℃ 级别的稳定测量并不是难事。如果你正在选平台、画原理图、写驱动或者被现场温漂问题折腾得头大这篇文章应该能帮你少走不少弯路。1. 为什么偏偏是24 位 ADC 8 位 MCU这个组合1.1 先看需求工业与 HVAC 测温到底难在哪很多人觉得测温就是读个数接个热敏电阻分压、单片机 AD 采一下不就完了放在空调面板这种场合确实够用但放到工业和 HVAC 现场问题马上不一样。HVAC 场景里冷冻水供回水温差测量要求两个通道的一致性非常高温差 0.1℃ 的变化就能影响整个控制逻辑。风管温度虽然量程窄但传感器电缆可能从控制箱拉到几十米外的空调机组一路上的工频干扰、变频器谐波全都耦合进信号线。工业场景更苛刻有的测点要求连续运行几年不校准环境温度能从 -40℃ 到 85℃ADC 的基准电压温漂、PGA 失调温漂会被直接折算成测量误差。MCU 内部 ADC 的问题不是位数不够而是参考电压和增益级都集成在 MCU 里温漂特性没法单独优化而且量程、偏置都跟着电源电压走。这时候把模拟测量和数字处理拆开用一颗专用测量 ADC 做前端MCU 只负责协议和逻辑反而是更稳妥的架构。1.2 ADS122U04IPWR 的优势独走 UART 的高精度 ADCADS122U04IPWR 这颗料我第一眼看中的不是 24 位分辨率而是它的UART 接口这个差异化设计。常见的高精度 ADC 像 ADS1220、ADS1248 都是 SPI 接口SPI 在板内没问题但如果你想把 ADC 和 MCU 拉开距离、或者想让多个节点挂在同一条总线上SPI 的时钟线就成了麻烦事。UART 版只要两根线TXD/RXD 就能跑主机侧还不用纠结时钟极性和相位。这颗芯片内部集成了 4 通道输入 MUX、可编程增益放大器 PGA1~128 倍、内部基准源、内部振荡器还带了两个匹配的 IDAC 恒流源。这意味着做 RTD 测量时基本不用外扩精密恒流源电路做热电偶时内置温度传感器还能直接做冷端补偿。电源范围 2.3V 到 5.5V输出数据速率可以到 1000 SPS覆盖工业测温完全够用。我选它还有一个现实原因TSSOP-16 封装手工焊接和回流焊都友好IPWR 后缀是卷带包装小批量打样也容易买到。1.3 PIC18F86J15够用、耐造、供应链稳的下位机PIC18F86J15 属于 Microchip 的 J 系列80 引脚封装程序空间在几十 KB 级别RAM 也有数 KB跑 Modbus RTU、维护一张温度线性化查表绰绰有余。这还不是重点重点在它的外设配置好多个 EUSART 可用其中一路专门跟 ADS122U04IPWR 通信另一路做 RS-485 跟 PLC 或楼宇自控系统对接SPI、I2C 也都有后面要挂数码管、LCD 或者 EEPROM 都方便。有人问我为什么不上 32 位 MCU成本、功耗、供应链稳定性都要算账。HVAC 控制器常年 24V 直流供电整板功耗按毫瓦级控制8 位 MCU 在轻度负载下电流只有几毫安而且这颗料工业级温度范围、市场流通量大、替代渠道多备胎好找。对做产品的人来说不容易断供本身就是巨大的优势。还有一个很容易被忽略的点ADS122U04IPWR 和 PIC18F86J15 都是 3.3V 供电IO 电平直接兼容中间不需要电平转换芯片省两颗料、少一层风险。2. 模拟前端与传感器接口RTD、热电偶、NTC 三路怎么接2.1 RTD 的比例测量用 1mA 激励和 RREF 消灭温漂RTD 是最适合 ADS122U04IPWR 发挥的传感器。PT100 在 0℃ 时电阻 100Ω到 100℃ 大约 138.5Ω变化率约 0.385Ω/℃。如果用普通恒压源激励再测电压激励源的稳定性会直接变成测量误差如果用恒流源激励电流源的温漂也必须做得很低。ADS122U04IPWR 提供了一个更聪明的做法比例测量。让 IDAC 恒流源同时流过 RTD 和一个精密参考电阻 RREFRTD 上的电压接到 ADC 的模拟输入端RREF 上的电压接到 ADC 的基准输入端。这样换算温度时用的是两个电压的比值激励电流的变化在比值里被约掉了。我常用的配置是IDAC 设 1mARREF 选 2kΩ 精密电阻温漂 10ppm/℃ 以内的RTD 用三线制接法。之所以用三线制是因为 RTD 本体在设备端导线可能有几米长两根引线电阻不对称会在测量回路里引入误差三线制配合 IDAC 的差分输入能把引线电阻的影响抵消大半。四线制当然更好但布线成本高HVAC 场景一般用不到。VREF 1mA × 2kΩ 2VPT100 在 100℃ 时电压也就 0.1385VPGA 设 8 倍后仍有很大裕量24 位下分辨率做进 0.001℃ 级别是常态。2.2 K 型热电偶与小信号放大PGA 增益和冷端补偿热电偶看着简单实际最容易翻车。K 型热电偶的塞贝克系数约 41μV/℃在 0~1000℃ 量程下满量程输出也就 40mV 上下。这么小的信号如果不放大ADC 的低位码值基本被噪声淹没。这里 PGA 就派上用场了。我一般把 PGA 设成 32 或 64 倍视量程而定。但放大倍数上去了失调电压也跟着放大所以零点校准必须做。另外热电偶测量的是热端和冷端的温差冷端也就是接线端子那一边必须做补偿否则夏天和冬天读同一根炉子上的热电偶会差出十几度。冷端补偿怎么做ADS122U04IPWR 内部自带温度传感器先把内部温度读出来当作冷端温度再用 K 型热电偶的标准多项式或者查表算出冷端温度对应的热电动势加到实测电动势上再反查温度。这个方法成本最低精度取决于内部温度传感器的误差通常在 ±1℃ 以内。要求高一点的话可以在端子排附近贴一颗高精度 NTC用外部温度传感器通道做冷端感知。2.3 NTC 与保护电路设计NTC 是 HVAC 里绕不开的存在风管温度、回风温度、面板温度到处都是 10kΩ NTC。NTC 的好处是灵敏度高、价格极低坏处是非线性极强、互换性差。我用 ADS122U04IPWR 接 NTC 时一般不自找麻烦去用 IDAC直接用一个 0.1% 的 10kΩ 精密电阻分压把分压点接到 ADC 输入24 位分辨率对 NTC 这种大信号来说绰绰有余。保护电路必须给尤其是传感器从现场拉回来那种。我在每个输入端到地并一个 TVS 管再串 1kΩ 到 10kΩ 的限流电阻之后接一个 100nF 到 1μF 的差分电容做 RF 滤波。这里有个细节RC 滤波器的电阻值太大会跟输入漏电流相互作用产生固定的偏置误差。ADS122U04IPWR 的输入漏电流在皮安级几千欧的串联电阻没问题但如果是廉价的运放做前端就要小心了。3. UART 链路与寄存器配置让 ADS122U04IPWR 稳定出数3.1 硬件连线上容易被低估的细节ADS122U04IPWR 走 UART 和 MCU 通信硬件上只需要连接 TX/RX 两根线外加共地。但有一个坑UART 是异步通信两边波特率必须一致而且这个 ADC 的波特率由器件自身的振荡器分频产生不是随便配的。我强烈建议你先去手册里查波特率配置表选择一个两边都容易达到的速率比如 9600 或者 115200然后 MCU 侧直接用内部振荡器校准到同一频率。另一个要注意的是ADS122U04 支持多地址模式可以通过地址位区分命令帧和数据帧。如果总线上只挂一颗 ADC地址功能可以简化关闭但如果将来要挂多颗从一开始就把地址位处理逻辑写好后面升级不用改太多代码。供电方面AVDD 和 DVDD 我用同一个 3.3V但中间串了磁珠隔离模拟部分和数字部分的地去耦电容分开布。这个细节在读数稳定性的作用远比你想象的大。3.2 寄存器配置顺序与代码骨架我习惯的上电流程是这样MCU 先初始化 UART拉硬复位或发送复位命令等 ADC 完成上电稳定一般要几十毫秒然后依次配置配置寄存器最后启动连续转换。伪代码大概是// PIC18 EUSART 初始化 void uart_init(void) { // 设置波特率 SPBRG // 使能发送、接收、中断 TXSTA 0x24; // 8位模式, 使能发送 RCSTA 0x90; // 串口使能, 8位接收 SPBRG ...; // 根据振荡器频率计算 } // 写 ADC 配置寄存器 void ads122u04_write_reg(uint8_t reg, uint8_t value) { uart_send_cmd(CMD_WREG); // 写寄存器命令 uart_send_byte(reg); // 寄存器地址 uart_send_byte(value); // 寄存器内容 delay_ms(1); // 等待命令执行 } void ads122u04_init(void) { // 复位 uart_send_cmd(CMD_RESET); delay_ms(50); // 配置输入MUX、PGA增益 ads122u04_write_reg(REG_CONFIG0, 0b10000000); // 配置数据速率、滤波 ads122u04_write_reg(REG_CONFIG1, ...); // 配置IDAC电流源 ads122u04_write_reg(REG_CONFIG2, ...); // 启动连续转换 uart_send_cmd(CMD_START); }这里有个重要事项PGA 增益和输入通道的 MUX 切换会影响输入的建立时间增益越高需要的稳定时间越长。我习惯在通道切换或者增益切换后主动丢弃头两三个转换结果再取后续数据。这个丢点操作是很多第一次用高精度 ADC 的人漏掉的。3.3 读数据帧与 PIC18 侧的解析状态机读结果时我推荐在 PIC18 侧用一个简单的状态机来解析 UART 字节流不要在主循环里傻等。ADS122U04IPWR 的输出帧有固定格式通常包含状态字节和 24 位转换结果。状态字节里的 ERR 位、PDR 位一定要检查尤其是刚上电或者寄存器配置错误时数据可能根本无效。uint8_t rx_state 0; uint8_t rx_buf[4]; int32_t raw_code; void uart_rx_isr(void) { uint8_t byte RCREG; switch(rx_state) { case 0: rx_buf[0] byte; rx_state 1; break; case 1: rx_buf[1] byte; rx_state 2; break; case 2: rx_buf[2] byte; rx_state 3; break; case 3: rx_buf[3] byte; raw_code ((int32_t)rx_buf[1] 16) | ((uint32_t)rx_buf[2] 8) | rx_buf[3]; // 检查 rx_buf[0] 的状态位 new_data_ready 1; rx_state 0; break; default: rx_state 0; } }PIC18 的硬件 UART 中断里做这种轻量级状态机完全没压力。主循环里只需要轮询标志位拿到原始码之后再做处理处理完记得清标志。4. 从原始码到摄氏度线性化查表与两点校准4.1 24 位码值如何换算成工程单位ADC 输出的原始码是一个 24 位的有符号数范围大约是 -8388608 到 8388607。要把这个码变成电压公式是V raw_code / 8388608 × VREF / Gain注意这里的 VREF 是我们外部接的 RREF 上的电压不是 2.048V 内部基准。比例测量的好处前面说了这里再强调一遍整个链路里唯一要求高精度的元件是 RREF只要它稳其他电源、基准、电流源的小漂移都影响不大。换算成电压后RTD 的电阻就是 R V_RTD / I_IDAC。但因为比例测量的关系也可以直接写成 R raw_code / 8388608 × RREF / Gain这比先算电压再算电阻更直接也少一道舍入误差。4.2 PT100 的线性化查表插值 Callendar-Van Dusen 方程PT100 的电阻-温度关系不是线性的0℃ 到 100℃ 之间用一次函数会产生 0.4℃ 以上的误差必须补偿。补偿有两个常用办法。第一种查表线性插值。把 IEC 60751 标准温标的电阻-温度表按 10℃ 间隔存成一个数组得到电阻后二分查找落在哪两个表项之间再线性插值。10℃ 间隔下插值误差小于 0.01℃在 8 位 MCU 上算起来也快就是几十个常数的查表几毫秒内能完成。第二种用 Callendar-Van Dusen 方程直接算。0℃ 以上R(t) R0 × (1 A×t B×t²)其中 A 3.9083×10⁻³B -5.775×10⁻⁷IEC 60751 系数R0 是 0℃ 时电阻 100Ω。反过来由电阻求温度需要解二次方程PIC18 上跑浮点库有点吃力我的做法是先用几轮牛顿迭代或者直接套求根公式算个近似值精度足够。0℃ 以下那个带三次项的完整公式只在冷藏、冷冻应用里才需要。4.3 两个校准点零点漂移和增益误差怎么一起消掉不管芯片出厂特性多好系统级总会引入偏置PCB 走线电阻、放大器失调、串联保护电阻、基准电阻误差这些会叠成系统误差。我每次做批量产品都坚持两点校准一点都不省。校准时用精密电阻箱代替传感器比用冰水混合物更可控。先给一个 100Ω对应 0℃记下 ADC 原始码 offset_code再给一个 138.5Ω对应 100℃记下另一个码 span_code。然后算两个系数温度_raw (code - offset_code) × 100 / (span_code - offset_code)这样零点漂移和增益误差一起就消掉了。校准的合理性在于ADC 链路本质是线性的只要 ADC 的传递函数是直线两点就能确定这条线。实际操作中我会把校准系数存到 EEPROM 里而且存两副本加校验位防止写一半掉电把系数搞坏。4.4 滤波与平滑在 8 位 MCU 上怎么省钱ADS122U04IPWR 内部已经有数字滤波输出数据本身很干净但现场总有不听话的干扰比如变频器的共模噪声耦合进来。我在 MCU 侧加了两级平滑先做一个 4 次滑动平均把突发的毛刺磨平再做一个一阶低通也就是 y y_old (x - y_old) / NN 取 4 或 8。两个滤波的代价都不高全部用整数移位完成不碰浮点。注意滑动平均数组里的数据宽度要用 32 位不然累加会溢出。我当初用 16 位变量存平均值读出的温度在高干扰环境下偶尔跳一个很大的值排查了半天才发现是溢出。5. 实测中踩过的坑建立时间、PCB 漏电与 ESD 反杀5.1 通道切换后的脏读数我把四路输入接成两路 RTD、一路热电偶、一路 NTC调试时发现每次切完通道前两个读数都偏大要等三四拍才恢复正常。一开始怀疑是传感器的问题后来定位到是 ADC 内部输入电容和 PGA 的建立时间MUX 切换瞬间采样电容里的残留电荷要经过输入源内阻放电内阻越大建立时间越长。解决办法有两个方向。硬件上降低源阻抗RTD 和 NTC 的串联电阻别乱加必要的时候把 1kΩ 保护电阻降到 470Ω。软件上更直接MUX 或 PGA 配置变了之后先执行一次无用的转换丢弃结果再开始采。这个方法成本为零强烈推荐。5.2 助焊剂残留和潮湿环境带来的漏电漂移这块板子我在实验室跑了两周数据非常好结果拿到现场一个月后有个通道的温度读数缓慢漂了 0.3℃。百思不得其解后来拆开板子看到 ADC 引脚附近的焊盘有点发暗拿洗板水洗完再测漂移消失。高精度 ADC 最怕的不是噪声是漏电。TSSOP-16 引脚间距本来就小助焊剂没有洗干净的话在潮湿环境下会形成微小的漏电通路几个兆欧的漏电电阻就能把纳安级别的输入电流污染掉。从此我的规矩是凡是做高精度采集的板子回流焊后必须洗板然后有条件就涂三防漆。三防漆对焊盘的保护是长期的尤其 HVAC 设备装在管道井、机房这类高湿环境里这一步不能省。5.3 ESD 打坏 ADCHVAC 现场线的防护还有一次更惨调试现场用了一根十几米的传感器延长线正好旁边走过一条动力电缆结果某天 ADC 的输入通道电压测出来完全不对了芯片内部寄存器读出来全是乱码基本可以断定是 ESD 打穿了内部保护二极管。温度传感器线在 HVAC 机房里的长度动辄几十米而且和强电电缆走同一个桥架感应雷、动力柜合闸瞬间的浪涌都能进来。我的防护策略是三级输入端串联 1kΩ~4.7kΩ 限流电阻配合 TVS 管泄放大部分能量TVS 后并联差分电容和共模电容把残余高频滤波外壳地和信号地之间用高压电容连接切断地环路的同时泄放共模干扰。这套组合下来实测能过 ±4kV 接触放电和 ±2kV 浪涌ADC 再无损伤。顺便提醒一句TVS 管的结电容很大如果选大功率型号会把差分信号的高频成分吃掉所以选 TVS 要看结电容参数ppm 级别的信号链路里不能马虎。5.4 布局与去耦的细节模拟电路的设计到最后拼的都是布局。我给 ADS122U04IPWR 布置的规矩是RREF 基准电阻离 REFP/REFN 引脚越近越好而且底下不要走数字信号线否则数字沿耦合进基准就等于直接调制了满量程。去耦电容 0.1μF 和 10μF 并联每个电源引脚都有一份电容地端汇聚到模拟地再单点连接到数字地。数字地与模拟地在 ADC 芯片下方汇合我用一个 0Ω 电阻连接而不是把两个地大面积直接打通。这样做虽然土但在两层板上最实用能有效阻止数字地噪声注入模拟地。6. 从样板到 HVAC 现场隔离、布线与长期稳定性6.1 把信号从控制箱送到几十米外RS-485 与 Modbus如果你做的是一台独立仪表前面这些已经够了。但如果要做 HVAC 系统里的现场设备板子算出温度之后还要往 PLC、楼宇自控系统上报这个环节就是 RS-485 和 Modbus RTU 的天下。PIC18F86J15 本身有多路 EUSART我拿一路接 ADS122U04IPWR另一路接 RS-485 收发器典型选型是 ISL83485 或 MAX3485 这类 3.3V 全双工/半双工芯片速率 9600 波特率跑 Modbus RTU 完全没问题。软件上建议 Modbus 地址、波特率、奇偶校验做成可配置项HVAC 现场不同项目的上位机要求五花八门没有配置功能后期麻烦无穷。6.2 电源与隔离24V AC/DC 场景下的供电设计HVAC 控制箱一个常见情况是只有 24V AC 或 24V DC 电源。24V AC 需要先整流再经过 DCDC 降到 5V最后用 LDO 得到 3.3V 给 MCU 和 ADC 供电。这里我踩过一个教训LDO 之后直接用长走线给 ADC 供电结果读数跟着负载电流波动后来才想到 ADC 的电源引脚旁边不仅要用大电容还要用磁珠把数字负载和模拟供电隔开让 ADC 看到的是干净的局部电源。如果现场信号线很长、且控制箱接地不良我建议把整个模拟测量部分和 MCU 部分做隔离。做法是 ADC 的 SPI/UART 信号过数字隔离器比如 ISO7741电源侧用隔离 DCDC。这样即便现场地电位漂移几伏也不会把板子上的芯片烧掉。代价是成本和功耗上升所以是不是要隔离取决于你面对的系统有没有多点接地、地电位不相等的问题。我一般建议给楼宇控制柜用的板子优先做隔离给独立设备内部用的可以省。6.3 现场校准周期与故障排查思路最后说说产品上线后的维护。RTD 和热电偶本身老化很慢但信号链路的偏置会随时间和温度缓慢漂移尤其冷端补偿用的内部温度传感器年漂移不可忽视。我给用户的维护建议是关键测点每年做一次在线校准用精密电阻箱注入标准电阻看读数偏差超过 0.2℃ 就重新校准便宜的非关键测点就靠定期比对发现异常再处理。现场故障排查我自己的顺序是先看电源电压和纹波再看 ADC 状态寄存器的错误标志位然后用万用表量传感器端电阻和 PCB 入口电阻做对比最后才考虑拆芯片。绝大多数 读数乱跳 的问题最后都落在接线端子松动、传感器线进水、地线虚接这三类物理故障上芯片本身反而很少成为元凶。这套方案从画原理图到批量生产我完整走过一遍最大的体会有两个一个是对省成本的执念适度放手模拟前端的保护电路和去耦电容别抠门省下的几毛钱后期会让售后加倍还回去另一个是一定要舍得在软件里丢几个点、多等几十毫秒建稳定时间的账要算清楚不然数字跳动的时候你根本分不清是算法问题还是硬件问题。最后再分享一个实用小技巧给 ADS122U04IPWR 的每个配置寄存器都做一个影子变量每次写入后读回来校验一遍。UART 在强干扰环境下偶尔会把字节弄丢导致 ADC 寄存器被设成乱七八糟的值而你自己还不知道。影子变量加定时巡检能在问题扩大之前救你一次。
RELATED

相关推荐

工业级温度测量系统:ADS122U04IPWR+MKV44F128VLH16抗扰采样与实时校准方案

工业级温度测量系统:ADS122U04IPWR+MKV44F128VLH16抗扰采样与实时校准方案

/* 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:05:56
基于ADS122U04和STM32F334R8的高精度温度采集系统设计

基于ADS122U04和STM32F334R8的高精度温度采集系统设计

/* 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:05:56
ADS122U04IPWR+STM32L021K4工业级温度测量方案

ADS122U04IPWR+STM32L021K4工业级温度测量方案

/* 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:05:56
MORE NEWS

更多资讯

📰

20 分钟盗走 63 亿美元:币安黑客案背后的 AI 与开源漏洞

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

📰

微信小程序求职招聘系统:SSM后端与Spring Boot迁移实践

简介:面向课程设计、毕业设计与技术练手场景的微信小程序求职招聘系统源码包,采用小程序客户端、Java服务端与MySQL数据库组合,后台为SSM结构并可按需升级SpringBoot。系统划分求职者、商家和管理员三类身份:求职者可微信授权登录…

📰

Java Tess4J OCR实战:从环境配置到置信度质检的完整闭环

简介:这份资源面向需要在 Java 应用中集成 OCR 能力的开发者,提供一套可直接运行的 Tess4J 示例工程,帮助解决图像文字自动识别、转可编辑文本的入门与调试问题。压缩包共 80 个文件,约 21.21MB,以 44 个 class 与 14 …

📰

电磁波实验考点全解析:从反射折射到微波参数测量

简介:面向电磁场与微波技术课程学习者及高校实验教学场景,这份资源围绕湖南大学电磁波四个实验及配套实验报告展开,覆盖PEC与PMC边界条件模拟、线性极化波合成圆极化与椭圆极化波、矩形波导中TE/TM模式传播等核心知识点,可帮助读者…

📰

Java Tess4J OCR实战:从依赖配置到批量识别与避坑指南

简介:这份资源面向需要在 Java 应用中集成 OCR 能力的开发者,提供一套可直接运行的 Tess4J 示例工程,帮助解决图像文字自动识别、转换为可编辑文本的实际问题,适合具备一定 Java 基础、希望快速上手 Tesseract 引擎的中级开发者参…

📰

首次来到CSDN进行创作

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

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬