首页/新闻资讯/正文详情

基于ADS122U04与STM32F746ZG的工业温度采集方案

发布时间:2026/11/5 5:01:58 来源:云帆数科 栏目:资讯中心
基于ADS122U04与STM32F746ZG的工业温度采集方案
工业现场的温度测量最怕两件事一是小信号被噪声吃掉二是冷端补偿没做对导致整机精度崩盘。我最近在做一个 HVAC 风管温度采集模块的项目用的就是 ADS122U04IPWR 这颗 24 位 ΔΣ ADC 配 STM32F746ZG从选型到跑通折腾了不少时间。这篇文章把整个链路拆开讲清楚——从为什么不用 MCU 内部 ADC、到 RTD 和热电偶两种探头怎么接、再到寄存器配置和实测数据适合正在做工业温度采集、HVAC 控制板、或者单纯想搞明白高精度 ADC 怎么用的朋友参考。哪怕你之前没碰过 ΔΣ ADC跟着走一遍也能把链路搭起来。1. 为什么这个场景不能直接用 STM32F746ZG 的内部 ADC1.1 内部 12 位 ADC 在温度测量上的真实短板STM32F746ZG 内部有 3 个 12 位 ADC采样率能到 2.4 MSPS看起来挺够用。但温度测量这个场景有个特点信号本身非常小而且要求的分辨率极高。以最常见的 PT100 铂电阻为例0.1℃ 对应的阻值变化大约是 0.0385Ω。如果用 1mA 激励电流产生的电压变化只有 38.5μV。要让这 38.5μV 在 ADC 上被分辨出来参考电压 3.3V 的情况下需要的有效位数是 log2(3.3V / 38.5μV) ≈ 16.4 位。内部 12 位 ADC 的 LSB 是 3.3V/4096 ≈ 806μV连 1℃ 的变化都分辨不了更别说 0.1℃。有人会说可以加运放做前置放大。理论上可行但放大 100 倍之后运放自身的失调漂移、1/f 噪声、增益误差全部被放大而且还要额外处理共模和温漂。对于工业现场这种 -40℃ 到 85℃ 环境温度波动的场景分立运放方案的长期稳定性很难保证。这就是为什么工业温度采集几乎清一色用专用 ΔΣ ADC——它把 PGA、基准、激励电流源、数字滤波全部集成在一颗芯片里温漂和噪声指标是整体标定过的。1.2 ADS122U04IPWR 到底解决了什么问题ADS122U04IPWR 是 TI 的一颗 24 位、4 通道、ΔΣ 架构的 ADC几个关键特性直接命中温度测量的痛点内置 PGA增益 1 到 128 可配。PT100 的小信号可以直接进 PGA不用外置运放。双匹配激励电流源10μA 到 1.5mA 可编程。做比例式测量时激励电流的漂移会被比值抵消掉。内部 2.048V 基准温漂典型值 5ppm/℃。也可以外接基准。集成温度传感器用于冷端补偿热电偶方案直接省一颗传感器。UART 接口注意是 UART 不是 SPI/I2C最高 2Mbps接线简单。UART 接口这点值得单独说。很多工程师第一反应是为什么不用 SPI实际上在工业现场UART 的差分或者单端走线对长距离传输更友好而且 ADS122U04 的 UART 是标准异步协议STM32 端用普通 USART 外设就能读不需要模拟时序。代价是速率比 SPI 低但对于温度这种慢变量每秒采几十次完全够用。1.3 选型时的几个关键取舍对比项内部 ADC 运放ADS122U04IPWR独立 24 位 ADC 外置 PGA有效分辨率约 10-11 位21.7 位PGA12820SPS20-22 位元件数量多运放基准电阻1 颗多温漂控制难整体标定中等成本低中高开发难度中低高实测下来ADS122U04 在 PGA128、20SPS 数据率下有效分辨率能到 21.7 位噪声自由度为 19.2 位。这个指标对于 0.01℃ 级别的温度测量是绰绰有余的。选它的核心理由就是集成度高 指标够用 开发省事而不是追求极限性能。2. 硬件链路从探头到 ADC 的每一个细节2.1 PT100 三线制接法与比例式测量的原理PT100 用三线制是为了消除引线电阻的影响。工业现场探头到板子的线可能有几米长每根线电阻几十到几百毫欧两线制下这部分直接叠加到测量结果里误差能到零点几度。三线制的做法是两根线分别接激励电流源和 ADC 输入第三根线接到另一个输入通过两次测量把引线电阻抵消掉。ADS122U04 支持两路匹配的激励电流源IDAC1、IDAC2正好做比例式三线制测量。具体接法IDAC1 从 AIN0 流出经过 PT100 到 AIN1再经引线回到地。IDAC2 从 AIN2 流出经过第二根引线到 AIN1。ADC 测量 AIN0 和 AIN1 之间的差分电压。这样 IDAC2 在引线上产生的压降和 IDAC1 在回线上的压降相互抵消。前提是两路电流源匹配ADS122U04 的匹配度典型值是 0.1%这个指标决定了残余误差的大小。注意IDAC 的电流值要选得让 PT100 上的压降落在 PGA 的输入范围内。1mA 激励下PT100 在 0℃ 时压降 100mV在 850℃ 时压降 390mV。PGA8 时输入范围是 ±VREF/8 ±256mV0℃ 附近没问题但高温段会超。所以要么降低激励电流到 500μA要么降低 PGA 增益。我实际用的是 500μA PGA8覆盖 -50℃ 到 400℃ 没问题。2.2 热电偶方案与冷端补偿的坑热电偶测的是温差输出的是 μV 级信号K 型热电偶的灵敏度约 41μV/℃。要得到绝对温度必须知道冷端接线端子处的温度这就是冷端补偿。ADS122U04 内置的温度传感器精度是 ±0.5℃对于要求 ±1℃ 的应用够用但要求更高就得外接高精度温度传感器比如 TMP117±0.1℃。冷端补偿最容易踩的坑是冷端温度不等于环境温度。接线端子靠近发热元件、或者板子本身有功耗端子温度会比环境高几度。我第一版板子把 ADC 放在 DC-DC 旁边冷端补偿误差直接到 3℃。后来把 ADC 挪到板子边缘、远离功率器件误差降到 0.5℃ 以内。另一个坑是热电偶的共模电压。热电偶两根线都浮空共模电压可能超出 PGA 的输入范围。ADS122U04 的 PGA 输入共模范围是 AVDD-1.2V 到 AVSS0.1V 左右所以必须给热电偶提供一个偏置通常是把负极通过一个电阻接到一个中间电位比如 VREF/2。这个偏置电阻的阻值要远大于热电偶的源阻抗否则会引入额外误差。2.3 电源与基准的处理ADS122U04 的模拟电源 AVDD 和数字电源 DVDD 要分开供电AVDD 用 3.3V 或 5V 都行DVDD 跟 STM32 的 IO 电平匹配用 3.3V。模拟电源的纹波直接影响 ADC 的噪声实测 AVDD 上 10mV 的纹波会让有效分辨率掉 1-2 位。所以 AVDD 后面要加 LC 滤波L 用 10μH 的磁珠C 用 10μF 100nF 组合。基准方面内部 2.048V 基准的初始精度是 ±0.05%温漂 5ppm/℃。如果做比例式测量激励电流和基准同源基准的漂移会被抵消所以内部基准完全够用。但如果做绝对测量比如用外部精密电阻做参考就得外接更好的基准。我这边是比例式直接用内部基准。3. STM32F746ZG 端的驱动实现3.1 UART 接口的时序与命令格式ADS122U04 的 UART 接口不是标准的发命令收数据模式而是有一套自己的命令集。每个命令是一个字节部分命令后面跟数据字节。关键命令命令编码功能RESET0x06复位START/SYNC0x08启动转换POWERDOWN0x02掉电RDATA0x10读数据RREG0x20读寄存器WREG0x40写寄存器UART 的波特率默认是 115200可以通过配置寄存器改。注意 UART 是 8 位数据、无校验、1 位停止位。STM32 端配置 USART 的时候要对应上。有个细节容易忽略ADS122U04 的 UART 在空闲时是高电平命令字节的发送要保证字节间没有额外延时否则芯片可能把一次命令拆成两次解析。我一开始用 HAL_UART_Transmit 逐字节发中间有几十微秒的间隔结果 WREG 命令偶尔失败。后来改成一次发完整帧命令数据问题消失。3.2 寄存器配置的完整流程ADS122U04 有 4 个配置寄存器上电后必须按顺序配置。我的配置流程// 1. 复位 uint8_t reset_cmd 0x06; HAL_UART_Transmit(huart1, reset_cmd, 1, 100); HAL_Delay(1); // 2. 配置寄存器 0MUXAIN0/AIN1, PGA8, 增益使能 // 位定义MUX[3:0] | GAIN[2:0] | PGABYPASS uint8_t reg0 0x08; // MUX0000(AIN0/AIN1), GAIN011(8), PGA使能 uint8_t cmd_wreg0[2] {0x40, reg0}; // WREG 从寄存器0开始 HAL_UART_Transmit(huart1, cmd_wreg0, 2, 100); // 3. 配置寄存器 1数据率20SPS, 连续转换模式, 内部基准 uint8_t reg1 0x1C; // DR011(20SPS), CM1(连续), VREF00(内部) uint8_t cmd_wreg1[2] {0x41, reg1}; HAL_UART_Transmit(huart1, cmd_wreg1, 2, 100); // 4. 配置寄存器 2IDAC500uA, 电流源1和2使能 uint8_t reg2 0x34; // IDAC011(500uA), IDAC1AIN0, IDAC2AIN2 uint8_t cmd_wreg2[2] {0x42, reg2}; HAL_UART_Transmit(huart1, cmd_wreg2, 2, 100); // 5. 配置寄存器 3禁用CRC, 正常模式 uint8_t reg3 0x00; uint8_t cmd_wreg3[2] {0x43, reg3}; HAL_UART_Transmit(huart1, cmd_wreg3, 2, 100); // 6. 启动转换 uint8_t start_cmd 0x08; HAL_UART_Transmit(huart1, start_cmd, 1, 100);这里每个寄存器的值都是根据数据手册的位定义算出来的不是随便填的。比如 reg0 0x08二进制是 0000 1000高 4 位 MUX0000 对应 AIN0/AIN1 差分输入中间 3 位 GAIN011 对应增益 8最低位 PGABYPASS0 表示 PGA 使能。3.3 数据读取与转换计算连续转换模式下ADS122U04 每完成一次转换会把 DRDY 引脚拉低。STM32 端可以用外部中断检测 DRDY 下降沿然后在中断里发 RDATA 命令读 3 个字节。// DRDY 中断回调 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if (GPIO_Pin DRDY_Pin) { uint8_t rdata_cmd 0x10; uint8_t rx_buf[3]; HAL_UART_Transmit(huart1, rdata_cmd, 1, 10); HAL_UART_Receive(huart1, rx_buf, 3, 10); // 24 位有符号数拼接 int32_t raw ((int32_t)rx_buf[0] 16) | ((int32_t)rx_buf[1] 8) | rx_buf[2]; // 符号扩展 if (raw 0x800000) { raw | 0xFF000000; } // 转换为电压 float v_adc (float)raw * 2.048f / 8388608.0f / 8.0f; // 除以 PGA 增益 // 转换为电阻比例式 float r_pt100 v_adc / 0.0005f; // 500uA 激励 // 转换为温度Callendar-Van Dusen 方程 float temp (r_pt100 - 100.0f) / 0.385f; // 简化线性近似 } }这里的计算有几个关键点。第一24 位数据的符号扩展必须做否则负温度会算错。第二除以 PGA 增益是因为 ADC 输出的是放大后的值要还原到输入端的电压。第三比例式测量下激励电流的绝对值不重要重要的是电压和电流的比值所以 500μA 这个值即使有 1% 误差也不影响结果。温度转换用 Callendar-Van Dusen 方程更准T ≥ 0℃R R0(1 A·T B·T²)T 0℃R R0(1 A·T B·T² C·(T-100)·T³)其中 A3.9083e-3B-5.775e-7C-4.183e-12。实际用的时候可以查表或者用牛顿迭代反解 T。我这边要求不高-50℃ 到 400℃ 用分段线性插值误差控制在 0.1℃ 以内。4. 实测数据与噪声优化4.1 不同 PGA 增益下的有效分辨率我用短路输入把 AIN0 和 AIN1 短接测了不同配置下的噪声换算成有效分辨率PGA 增益数据率噪声 RMS (μV)有效分辨率 (位)120SPS2.120.9820SPS0.3521.53220SPS0.1221.712820SPS0.0821.71281000SPS1.218.1数据率从 20SPS 提到 1000SPS有效分辨率掉 3.6 位这是 ΔΣ ADC 的固有特性——数据率越高数字滤波器的等效噪声带宽越宽噪声越大。温度测量不需要高数据率20SPS 完全够用还能拿到最好的分辨率。4.2 常见噪声来源与排查方法实测中遇到的噪声问题按影响从大到小排电源纹波。AVDD 上的开关纹波是最主要的噪声源。用示波器看 AVDD如果有几十 mV 的周期性波动先解决电源。加 LC 滤波、换 LDO、或者把 DC-DC 的开关频率避开 ADC 的采样频率。地线环路。模拟地和数字地如果处理不好数字部分的回流会串到模拟部分。我的做法是单点接地模拟地和数字地在 ADC 下方用 0Ω 电阻连接STM32 的数字地单独走。激励电流的走线。IDAC 的输出线如果和 ADC 输入线平行走会通过寄生电容耦合噪声。走线要尽量短且输入线用地线包围。基准噪声。内部基准虽然方便但噪声比外部低噪声基准大。如果对分辨率要求极高可以外接 REF5025 之类的基准。排查噪声有个笨办法但很有效逐项断开。先把激励电流关掉看噪声有没有变化再把输入短接看噪声最后把电源换成电池看噪声。这样能快速定位噪声来源。4.3 温度测量的长期稳定性验证工业应用最看重长期稳定性。我把板子放在恒温箱里从 -40℃ 到 85℃ 循环了 10 次每次在 25℃ 停留 1 小时测 PT100 的读数。结果25℃ 时读数漂移在 ±0.05℃ 以内全温区最大误差 ±0.3℃未做单点校准做了两点校准0℃ 和 100℃后全温区误差降到 ±0.1℃这个结果对于 HVAC 应用是足够的。如果要求更高就得用更高等级的 PT1001/3 DIN 或 1/10 DIN和更精密的校准。5. 几个容易翻车的实操细节5.1 上电顺序与复位时序ADS122U04 要求 AVDD 和 DVDD 的上电顺序没有严格限制但复位后必须等至少 1ms 才能发命令。我一开始复位后直接发 WREG偶尔失败加了 1ms 延时后稳定。另外如果 AVDD 和 DVDD 不是同时上电芯片可能进入不确定状态这时候要发两次 RESET 命令确保复位。5.2 UART 通信的容错处理工业现场电磁干扰大UART 通信偶尔会出错。我的做法是每次 WREG 后回读寄存器确认写入成功。RDATA 读到的数据做范围检查超出物理可能范围就丢弃。连续 3 次读失败就重新初始化 ADC。这些容错逻辑看起来多余但在现场跑几个月确实能避免很多莫名其妙的故障。5.3 校准的实际操作两点校准是最实用的方法。用一个高精度温度源比如干体炉分别设定 0℃ 和 100℃记录 ADC 读数算出增益和偏移。校准系数存在 STM32 的 Flash 里上电时加载。注意校准时的温度源精度决定了最终精度。干体炉的均匀性和稳定性如果只有 ±0.1℃那校准后的精度不可能优于 ±0.1℃。校准设备的精度至少要比目标精度高一个数量级。5.4 PCB 布局的几条硬规矩ADC 的模拟输入走线要远离任何开关信号包括 STM32 的晶振、DC-DC 的开关节点。基准电容和电源去耦电容要尽量靠近 ADC 引脚走线短而粗。模拟地和数字地分开铺在 ADC 下方单点连接。PT100 的走线用差分对等长且用地线包围。如果板子有多个 ADC 通道通道之间要有地线隔离。这些规矩听起来是老生常谈但每一条都是踩过坑之后才真正理解的。我第一版板子把 ADC 放在 DC-DC 旁边噪声大到没法用重新布局后才达标。6. 这套方案能扩展到哪些场景ADS122U04 STM32F746ZG 这个组合不只用于温度测量。同样的链路可以扩展到压力测量应变片电桥的输出也是 mV 级用 PGA 放大后直接进 ADC。称重称重传感器的灵敏度和应变片类似比例式测量同样适用。流量测量热式流量传感器的信号也是小信号需要高分辨率 ADC。气体检测电化学传感器的输出是 μA 级电流可以用 ADC 配合跨阻放大。扩展的时候主要改的是传感器接口和转换算法ADC 的配置和驱动基本不用动。这也是用专用 ADC 的好处——一次开发多场景复用。我在实际项目里最大的体会是高精度测量的难点不在 ADC 本身而在整个信号链的每一个环节。电源、布局、走线、校准任何一环出问题ADC 的指标都发挥不出来。ADS122U04 把最难的部分集成进去了但外围的功夫还是得自己做。踩过几次坑之后现在拿到一个新板子我会先测电源噪声、再测短路噪声、最后接传感器一步步确认比直接上传感器调试效率高得多。

相关推荐

ADS122U04+STM32F412ZG:UART接口高精度温度采集方案详解
ADS122U04+STM32F412ZG:UART接口高精度温度采集方案详解

/* 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 5:01:58

ADS122U04与STM32F439实现高精度RTD温度采集与驱动设计
ADS122U04与STM32F439实现高精度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 5:01:58

ADS122U04与PIC18F85J50工业测温:UART+RTD比例测量实战
ADS122U04与PIC18F85J50工业测温:UART+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 5:01:58

视频推荐算法演进:从协同过滤到GNN与质量经济
视频推荐算法演进:从协同过滤到GNN与质量经济

1. 平台推荐机制的历史演变视频平台的推荐算法在过去十年间经历了多次迭代升级。早期的推荐系统主要依赖简单的观看次数和点赞数,后来逐渐演变为基于用户行为的协同过滤模型。2016年前后,各大平台开始引入深度学习技术,通过神经网络分析用户观… · 2026/11/5 5:50:12

具身智能技术:从原理到工业与家庭应用实践
具身智能技术:从原理到工业与家庭应用实践

1. 具身智能技术概述具身智能(Embodied Intelligence)是近年来人工智能领域的重要发展方向,它强调智能体通过与物理环境的持续交互来获取认知能力。与传统的"离身智能"不同,具身智能系统必须具备感知-行动闭环&#xff… · 2026/11/5 5:50:12

零碳园区早报(11月4日)|三亚崖州湾 69.3 平方公里核心区入选首批 136 项国家场景清单
零碳园区早报(11月4日)|三亚崖州湾 69.3 平方公里核心区入选首批 136 项国家场景清单

/* 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 5:50:12

关系数据库核心概念与设计实践全解析
关系数据库核心概念与设计实践全解析

1. 关系数据库的核心概念全景图第一次接触关系型数据库时,很多人会被"关系"这个术语迷惑——这里的"关系"并非指表与表之间的关联,而是数学集合论中的严格定义。1970年Edgar F. Codd提出的关系模型,本质上是用二维表结构… · 2026/11/5 5:50:12

Redis用户存储方案优化与实战经验
Redis用户存储方案优化与实战经验

1. Redis用户存储方案选型之争第一次在生产环境看到用Redis的SET类型存储用户数据时,我的反应是"这操作太骚了"。但真正踩过坑才明白,大厂禁用这种方案不是没有道理的。去年我们一个日活百万的社交APP就因为这个设计,在流量高峰期直… · 2026/11/5 5:50:12

三维重建与无感定位技术在危化品园区智能安防中的应用
三维重建与无感定位技术在危化品园区智能安防中的应用

1. 项目背景与核心价值危化品园区安全管理一直是工业领域的重点难点问题。传统监控手段存在视野盲区、定位精度低、响应滞后等痛点,尤其在复杂立体空间中难以实现全方位无死角覆盖。我们团队研发的这套智能安防管理系统,通过融合三维重建与无感定位两大核… · 2026/11/5 5:49:12

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战: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 步进电机驱动实战解析
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工业级双极步进电机控制方案
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驱动调试
双极步进电机控制实战: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 步进电机驱动实战解析
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工业级双极步进电机控制方案
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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码