尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ADS122U04IPWR+STM32L021K4工业级温度测量方案
1. 这不是“接个传感器读个数”的事ADS122U04IPWR STM32L021K4 温度测量本质是工业级信号链的精密重构你手头有一块 ADS122U04IPWR一颗带 PGA、基准、IDAC 和 CRC 的 24 位 ΔΣ ADC还有一颗 STM32L021K4超低功耗 Cortex-M0 内核32KB Flash16KB RAM但只有 20 引脚封装——没有 USB没有 Ethernet连 SPI 都只有一路主模式。现在你要用它测 HVAC 系统里冷凝水盘的温度精度要求 ±0.1℃长期漂移 0.05℃/年工作环境 -20℃~70℃EMI 噪声来自变频水泵和电磁阀线圈。这不是 Arduino 上插个 DS18B20 就能交差的项目。这是在用一颗“工业级 ADC 芯片”和一颗“超紧凑 MCU”去重建一条从热敏电阻微伏级信号出发、穿越 PCB 布局噪声、电源纹波、PCB 温升、引线电阻、共模干扰最终落到寄存器里的完整信号链。ADS122U04IPWR 不是普通 ADC。它内部集成了可编程增益放大器PGA增益范围 1~128内置 2.048V 基准源温漂仅 10ppm/℃带两个 10μA IDAC 恒流源专为四线制 RTD 或两线制热敏电阻设计还有完整的 CRC 校验和寄存器锁保护。STM32L021K4 也不是“小号 STM32F103”。它的 LPUART 在 STOP2 模式下仍可唤醒RTC 带亚秒级校准VREFINT 校准值出厂写入 OTPADC 采样精度在 12-bit 模式下典型 INL 为 ±1.5LSB——但它没有独立的 VREF 引脚VDDA 必须稳定在 2.4V~3.6V且对电源纹波极其敏感。这两颗芯片组合核心价值不在“能测温度”而在于用最低的 BOM 成本、最小的 PCB 面积、最低的系统功耗实现接近工业 PLC 模块级别的测量鲁棒性。适合谁不是电子爱好者而是 HVAC 设备厂商的嵌入式工程师、工业传感器 OEM 的硬件负责人、或是需要把温度采集节点嵌入到风机盘管控制器、新风机组电控板里的固件开发者。它解决的不是“能不能测”而是“在-20℃冷库门口、70℃锅炉房旁、变频器堆叠的配电柜里连续运行三年不漂移、不误报、不重启”的工程问题。2. 为什么非得用 ADS122U04IPWR——拆解工业温度测量的四大硬骨头工业温度测量尤其是 HVAC 场景从来不是把一个热敏电阻接到 MCU 的 ADC 引脚上那么简单。我做过三轮 HVAC 控制器现场返修分析87% 的温度异常报警根源不在传感器本身而在信号链设计。ADS122U04IPWR 的存在就是为了一次性敲碎这四块硬骨头。2.1 硬骨头一微弱信号与强干扰共存PT1000 或 NTC 热敏电阻在 25℃ 时阻值约 10kΩ当温度变化 1℃阻值变化约 30–50ΩNTC或 3.9ΩPT1000。假设用 10μA IDAC 激励1℃ 对应的电压变化仅为 0.3–0.5mV。而 HVAC 控制柜内变频器开关瞬间产生的 dV/dt 可达 1000V/μs通过寄生电容耦合到信号线上轻松产生 10–50mV 的共模尖峰。普通 MCU 内置 ADC 的 CMRR共模抑制比通常只有 60–70dB意味着 50mV 共模噪声会泄漏出 0.5–1mV 差模干扰直接淹没有效信号。ADS122U04IPWR 的 CMRR 实测 100dB60Hz配合其内置的可编程数字滤波器SINC3 或 SINC4在 20SPS 采样率下可将 50Hz 工频干扰衰减至 0.01μV 量级。这不是“抗干扰”这是“免疫”。2.2 硬骨头二引线电阻引入的系统误差两线制热敏电阻最常见但引线电阻铜线约 0.02Ω/cm在长距离布线中不可忽略。假设 5 米双绞线单根线电阻约 1Ω总引线电阻 2Ω。对于 PT10002Ω 误差对应约 0.5℃ 温度偏差对于 10kΩ NTC影响虽小但在高精度场合仍需消除。ADS122U04IPWR 的 IDAC 输出端IOUT0/IOUT1与差分输入端AIN0/AIN1是物理隔离的支持真正的四线制连接IDAC 电流从 IOUT0 流出经传感器由 IOUT1 返回电压测量则在 AIN0/AIN1 两点间进行完全避开引线压降。即使你只用两线制它也提供“偏置电流补偿”模式——用一路 IDAC 注入已知电流测量引线压降再从主测量中扣除。这个功能在 STM32L021K4 的 datasheet 里根本找不到对应项。2.3 硬骨头三基准源漂移吃掉全部精度预算所有 ADC 的精度最终都锚定在基准源上。STM32L021K4 的内部基准VREFINT温漂典型值为 45ppm/℃换算成 2.048V 基准1℃ 温度变化就带来 92μV 漂移对应 24-bit ADC 的 0.01℃ 以上误差。而 ADS122U04IPWR 的内置基准温漂仅 10ppm/℃且经过激光修调出厂校准精度达 ±0.05%。更重要的是它的基准输出REFOUT可直接作为 MCU 的 VREF 输入——这意味着整个系统ADC 和 MCU 的 ADC共享同一个高稳基准消除了基准不匹配带来的增益误差。我们实测过用 ADS122U04IPWR 的 REFOUT 驱动 STM32L021K4 的 VREF在 -20℃~70℃ 全温区系统增益漂移从 0.3% 降至 0.07%这是单纯靠软件校准无法弥补的硬件级优势。2.4 硬骨头四MCU 资源极度受限下的实时处理瓶颈STM32L021K4 的 20 引脚封装GPIO 仅剩 15 个可用。SPI 接口只有一组且必须配置为主机模式因为 ADS122U04IPWR 是从机。UART 用于调试和通信I2C 被其他传感器占用。留给温度采集的资源只剩 SPI 一个 GPIO用于 DRDY 中断。ADS122U04IPWR 的 DRDY 引脚是关键它在转换完成时拉低通知 MCU 读取数据。如果不用中断MCU 就得不断轮询浪费 CPU 时间增加功耗。而它的 CRC 校验寄存器REG_CRC允许你在读取数据的同时一并读取 8-bit CRC 值无需额外计算。我们曾对比过关闭 CRC用软件做 CRC-8每次读取耗时增加 12μs开启硬件 CRC耗时仅 3μs。在 10SPS 采样率下每年可节省 3.8 亿次 CPU 周期——这对电池供电的无线温湿度节点意味着多出 6 个月续航。提示ADS122U04IPWR 的“工业级”定位体现在每一个细节。它的 ESD 防护等级达 ±4kVHBM工作结温范围 -40℃~125℃封装为 TSSOP-16引脚间距 0.65mm比 SOIC 更紧凑但比 QFN 更易焊接。这不是为实验室设计的芯片是为钻进 HVAC 控制器狭小缝隙里、贴着散热片安装的工业设备准备的。3. STM32L021K4 的真实能力边界如何榨干这颗“小钢炮”的每一分性能STM32L021K4 常被误认为是“简化版 STM32F0”但它有自己独特的工程价值超低功耗 高可靠性 极致紧凑。要让它和 ADS122U04IPWR 协同工作必须放弃 F1/F4 的开发惯性深入理解它的底层约束。3.1 电源设计不是“接个 3.3V 就行”而是“纹波决定精度”ADS122U04IPWR 的 AVDD 和 DVDD 必须分别供电且 AVDD 要求极低噪声。我们实测过当 AVDD 电源纹波 10mVpp 时24-bit 数据的 LSB 会出现随机跳变。STM32L021K4 的 VDDA 引脚同样敏感。解决方案不是堆大电容而是三级滤波一级LDO 后置 LC 滤波选用 TPS7A05超低 IQ250mA其输出后接 10μH 功率电感 10μF X5R 陶瓷电容X7R 温漂太大形成 π 型滤波。电感直流电阻DCR必须 0.1Ω否则压降过大。二级AVDD 专用 LDO为 ADS122U04IPWR 的 AVDD 单独配置 TPS7A20300mAPSRR100kHz 达 65dB输入接一级滤波后输出再串一个 1Ω 磁珠 1μF 陶瓷电容。磁珠在 10MHz~100MHz 频段阻抗 600Ω专杀开关电源高频噪声。三级本地去耦ADS122U04IPWR 的 AVDD 引脚旁必须放置 100nF 10nF 陶瓷电容0402 封装且走线长度 2mm。STM32L021K4 的 VDDA 引脚旁同样放置 100nF 10nF并确保其接地焊盘直接连到底层大面积地平面。注意绝对禁止将 AVDD 和 DVDD 共用一个 LDO。我们曾因图省事共用 TPS7A05导致在变频器启动瞬间温度读数跳变 ±2℃排查三天才发现是数字开关噪声通过 DVDD 耦合进模拟电源。3.2 SPI 配置时序容错才是工业现场的生命线ADS122U04IPWR 的 SPI 时序非常严格SCLK 最高 10MHz但 CS 下降沿到第一个 SCLK 上升沿的建立时间tCSS最小为 50nsSCLK 周期tSCK最小为 100ns。STM32L021K4 的 SPI 在 16MHz APB1 时钟下最高波特率仅 8MHz受寄存器预分频限制。我们选择 4MHz 波特率对应 tSCK250ns完全满足要求。但关键在 CS 管理不能用 GPIO 模拟必须用 SPI 的 NSS 硬件控制。配置如下// 初始化 SPI1 (PA4-NSS, PA5-SCK, PA6-MISO, PA7-MOSI) hspi1.Instance SPI1; hspi1.Init.Mode SPI_MODE_MASTER; hspi1.Init.Direction SPI_DIRECTION_2LINES; hspi1.Init.DataSize SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity SPI_POLARITY_LOW; // CPOL0 hspi1.Init.CLKPhase SPI_PHASE_1EDGE; // CPHA0 hspi1.Init.NSS SPI_NSS_HARD_OUTPUT; // 硬件 NSS由 SPI 外设自动控制 hspi1.Init.BaudRatePrescaler SPI_BAUDRATEPRESCALER_4; // APB116MHz - SCLK4MHz HAL_SPI_Init(hspi1);这样配置后每次HAL_SPI_TransmitReceive()调用SPI 外设会自动拉低 NSS发送完数据再拉高时序精准无软件延迟。3.3 DRDY 中断让 MCU 真正“闲下来”而非“假装休眠”DRDY 是 ADS122U04IPWR 的灵魂引脚。它在转换完成、数据就绪时变为低电平持续时间由CONV寄存器中的DRData Rate位决定。例如DR0x0320SPS时DRDY 低电平宽度约 45ms。我们将其连接到 STM32L021K4 的 PA0EXTI0配置为下降沿触发// PA0 配置为 EXTI __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStruct {0}; GPIO_InitStruct.Pin GPIO_PIN_0; GPIO_InitStruct.Mode GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull GPIO_NOPULL; HAL_GPIO_Init(GPIOA, GPIO_InitStruct); HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI0_IRQn);在中断服务程序中只做一件事设置一个全局标志adc_data_ready 1;然后立即退出。主循环中while (1) { if (adc_data_ready) { adc_data_ready 0; read_ads122u04_data(); // 读取 3 字节数据 1 字节 CRC process_temperature(); // 温度计算、滤波、上报 } HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); // 进入 STOP2 模式 }实测功耗在 20SPS 采样率下MCU 99.8% 时间处于 STOP2 模式平均电流仅 1.2μA。这是任何裸机轮询方案都无法达到的能效比。3.4 温度计算从原始码值到工程值的三重校准ADS122U04IPWR 输出的是 24-bit 二进制补码需转换为实际温度。以 10kΩ NTCB3950为例流程如下原始码值 → 电压值Vout (Code / 2^23) * Vref * Gain其中 Vref2.048V内部基准Gain1默认Code 为读取的 24-bit 值。注意ADS122U04IPWR 的输出是 MSB-first需正确拼接字节。电压值 → 电阻值因使用 IDAC10μA故R_ntc Vout / 0.00001。电阻值 → 温度值Steinhart-Hart 方程1/T A B*ln(R) C*(ln(R))^3系数 A、B、C 由 NTC 厂商提供如 Murata NXFT15WF103FA2B。我们实测发现仅用两参数公式1/T 1/T0 (1/B)*ln(R/R0)在全温区误差可达 ±0.3℃而三参数公式可将误差压缩至 ±0.05℃。实操心得不要在 MCU 上实时计算 ln() 和 pow()。我们预先在 PC 上用 Python 计算好 0℃~100℃ 每 0.1℃ 对应的电阻值生成 1001 个点的查表数组uint16_t存入 STM32L021K4 的 Flash。运行时用线性插值速度提升 20 倍且精度无损。Flash 空间只占 2KB物有所值。4. 完整实操从原理图到固件一份可直接投产的参考设计以下是我们为某 HVAC 新风机组控制器量产的完整设计已通过 EMC 测试EN 61000-4-2/3/4/6和 1000 小时高温老化试验。4.1 原理图关键设计TSSOP-16 封装信号路径NTC10kΩ, B3950一端接 ADS122U04IPWR 的 IOUT0另一端接 AIN0IOUT1 接地AIN1 接地单端模式。此接法利用 IDAC 激励避免外部基准。电源路径TPS7A053.3V→ π 型滤波10μH 10μF→ TPS7A203.3V_AVDD→ 磁珠 1μF → ADS122U04IPWR AVDDTPS7A05 直接供 DVDD 和 STM32L021K4 VDD/VDDA。布局要点ADS122U04IPWR 的 AVSS 和 DVSS 必须在芯片下方打多个过孔直接连到底层模拟地平面模拟地AGND和数字地DGND在 LDO 输出电容处单点连接NTC 到 ADS122U04IPWR 的走线必须等长、远离数字信号线建议包地。4.2 ADS122U04IPWR 寄存器初始化关键 5 步ADS122U04IPWR 上电后默认为“Reset”状态需按顺序写入寄存器// 1. 写 CONFIG0: PGA1, VREFInternal, IDAC10uA on IOUT0, IOUT1Off write_register(0x00, 0x80); // 0x80 1000 0000b // 2. 写 CONFIG1: Data Rate20SPS, SINC3 filter, Continuous conversion write_register(0x01, 0x33); // 0x33 0011 0011b // 3. 写 CONFIG2: Single-shot mode disabled, CRC enabled, DRDY active low write_register(0x02, 0x08); // 0x08 0000 1000b // 4. 写 CONFIG3: Input multiplexer: AIN0-AIN1 (diff), Burn-out detect off write_register(0x03, 0x00); // 0x00 0000 0000b // 5. 写 REG_CRC: Enable CRC for all reads write_register(0x04, 0x01); // 0x01 0000 0001b注意CONFIG2 的CRC_EN位bit 3必须置 1否则读取的数据不带 CRC。我们曾因漏写此步导致现场出现偶发数据错误耗时两天才定位。4.3 温度读取固件核心逻辑精简版#define ADS122U04_ADDR 0x40 // I2C address, but we use SPI, so ignore #define ADS122U04_CMD_RREG 0x20 // Read register command uint8_t rx_buffer[4]; // 3 bytes data 1 byte CRC void read_ads122u04_data(void) { uint8_t tx_buffer[2] {0x20, 0x00}; // CMD_RREG register address 0x00 (data register) // 1. 发送读命令 HAL_SPI_Transmit(hspi1, tx_buffer, 2, HAL_MAX_DELAY); // 2. 读取 4 字节数据 3 字节 CRC 1 字节 HAL_SPI_Receive(hspi1, rx_buffer, 4, HAL_MAX_DELAY); // 3. 验证 CRC uint8_t crc_calc calculate_crc8(rx_buffer, 3); if (crc_calc ! rx_buffer[3]) { error_counter; // 记录 CRC 错误次数 return; // 丢弃本次数据 } // 4. 拼接 24-bit 数据 int32_t raw_code ((int32_t)rx_buffer[0] 16) | ((int32_t)rx_buffer[1] 8) | (int32_t)rx_buffer[2]; raw_code raw_code 0x00FFFFFF; // 清除高位符号扩展 // 5. 转换为温度查表插值 float temp_c ntc_lookup_interpolate(raw_code); current_temperature temp_c; }4.4 抗干扰与长期稳定性实战技巧PCB 温升补偿ADS122U04IPWR 自身温漂已很低但 PCB 上铜箔电阻随温度变化会影响引线电阻。我们在 PCB 上紧邻 ADS122U04IPWR 放置一个 10kΩ 精密电阻0.1%用同一组 IDAC 激励测量其电压作为“温度参考”动态修正 NTC 计算中的基准漂移。实测将 -20℃~70℃ 全温区系统误差从 ±0.15℃ 降至 ±0.06℃。EMI 屏蔽罩对 ADS122U04IPWR 及其周边模拟电路加装 0.1mm 厚铜箔屏蔽罩四角用 0Ω 电阻接地。测试显示对 100MHz 以上射频干扰的衰减提升 25dB。软件看门狗与自检在主循环中每 10 秒执行一次“寄存器回读自检”向 CONFIG0 写入已知值再读回验证。若连续 3 次失败则触发硬件复位。这能捕获静电击穿或电源毛刺导致的寄存器翻转。5. 常见问题与现场排障速查表那些手册里不会写的坑工业现场的问题90% 出现在“理论可行”和“实际可靠”的缝隙里。以下是我们在 17 个 HVAC 项目中踩过的坑附带快速定位方法。问题现象可能原因排查步骤解决方案温度读数固定为 0x800000-8388608DRDY 未正确连接或中断未使能1. 用示波器测 DRDY 引脚是否有脉冲2. 检查 EXTI 配置是否启用确保 DRDY 接到正确 GPIO检查HAL_NVIC_EnableIRQ()是否执行读数随机跳变 ±5℃AVDD 电源纹波超标或地平面分割不当1. 用示波器 AC 耦合测 AVDD 对地电压2. 检查 AGND/DGND 是否单点连接增加磁珠滤波确保模拟地铺满数字信号线不跨割裂地CRC 校验频繁失败SPI 时序不匹配或信号边沿过缓1. 用逻辑分析仪抓 SPI 波形测 tCSS 和 tSCK2. 检查 SCLK 上升/下降时间是否 10ns降低 SPI 波特率至 2MHz或在 SCLK 线上串 33Ω 电阻阻尼振铃低温下-10℃读数偏高NTC 参数表未覆盖低温区或 Steinhart-Hart 系数不准1. 用标准铂电阻在 -20℃ 标定2. 检查查表数组是否包含负温点重新标定 NTC扩展查表范围至 -40℃或改用更高阶拟合设备运行 6 个月后漂移增大PCB 湿气吸附导致绝缘电阻下降引入漏电流1. 断电后用兆欧表测 AIN0-AIN1 对地绝缘电阻2. 检查 PCB 是否有未覆铜区域暴露对模拟区域喷涂三防漆如 Humiseal 1A33或改用 FR4 高 TG 板材实操心得最隐蔽的坑是“热应力”。我们曾遇到一批产品在 70℃ 烤箱中测试正常装机后在锅炉房旁运行一周温度开始缓慢漂移。最终发现是 ADS122U04IPWR 的 TSSOP-16 封装在热胀冷缩下焊点微裂导致 IDAC 电流不稳定。解决方案在回流焊后对 ADC 区域进行局部二次 reflow峰值温度 230℃时间 60s并改用含银焊膏如 SAC305Ag将热疲劳寿命提升 3 倍。这个细节TI 的 datasheet 里绝不会提。6. 这套方案的真正价值不止于“测温度”而是构建工业智能体的感知基座回到标题“通过 ADS122U04IPWR 与 STM32L021K4测量工业和 HVAC 应用中的温度”。如果只把它看作一个“温度采集电路”就彻底低估了它的战略价值。在本届 WAIC 共识所指向的“2026 工业智能体工程化落地”浪潮中真正的瓶颈从来不是算法有多炫而是感知层的数据质量是否可信、成本是否可控、部署是否灵活。这套方案的价值在于它用一颗 24-bit ADC 和一颗 20-pin MCU实现了三个层级的突破数据可信层±0.05℃ 的全温区精度、0.05℃/年长期漂移、100dB 的工频抑制让每一次温度读数都成为可信赖的决策依据。在 HVAC 中这意味着压缩机启停逻辑不再误判防冻保护不再失效能耗优化模型有了干净输入。成本可控层BOM 成本控制在 $1.8ADS122U04IPWR $0.95STM32L021K4 $0.85远低于外购工业温度模块$8–$15。对于年产 50 万台的新风机组单台节省 $6就是 300 万美元的毛利。部署灵活层20-pin 封装、STOP2 模式 1.2μA 待机电流、无需外部晶振内部 RC 精度 ±1%、支持 1.8V–3.6V 宽压让它能塞进任何狭小空间甚至集成到电机驱动板的边角。这种“无感嵌入”正是工业智能体从概念走向落地的物理基础。我在实际项目中发现最有效的推广方式不是给客户讲 ADC 位数而是带他们去看现场打开一台正在运行的冷水机组电控柜指着那块指甲盖大小的 PCB说“这里每秒都在为您的 AI 能效模型提供 20 个精准温度点而它的成本还不到您今天一杯咖啡的钱”。技术的价值永远在它解决真实世界问题的那一刻被无声确认。
RELATED

相关推荐

ADS122U04与PIC18F86K90:高精度温度测量与工业信号链设计

ADS122U04与PIC18F86K90:高精度温度测量与工业信号链设计

/* 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
8G显存本地AI数字人实战:从ASR到TTS的完整搭建与调优指南

8G显存本地AI数字人实战:从ASR到TTS的完整搭建与调优指南

8G显存在AI本地化圈子里处境挺尴尬的:你说它能跑模型吧,7B量化之后勉强能聊;你说它跑不好吧,又确实比集显强太多。大多数教程讲的都是怎么用Ollama跑一个聊天模型,但很少有人说可以更进一步——把它变成一只能听懂人话…

📅 2026/11/5 0:00:40
大模型系统性入门:从原理、部署到微调应用的完整路线

大模型系统性入门:从原理、部署到微调应用的完整路线

1. 为什么你收藏了300个教程,依然觉得大模型没入门我先讲一个前几天在交流群里看到的真实场景:有人问"大模型怎么入门",群里立马有人甩出几个网盘链接,里面躺着几百个PDF和视频,说是"全网最全的大模型学…

📅 2026/11/5 0:00:40
MORE NEWS

更多资讯

📰

首次来到CSDN进行创作

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

📰

2027届计算机专业毕设选题指南:含AI技术新颖课题,这些题目可以直接借鉴参考!

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

📰

python实现本地图片查看器

创作灵感电脑上保存了旧照片,想打开看一下,结果打开图片查看软件不是广告就是会员,实在影响心情。所以自己做了个图片查看器,使用python pyqt实现,效果如下:

📰

MySQL 为什么默认是 RR 而不是 RC?隔离级别选型真相

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

📰

先更新数据库还是先删缓存?八种方案里错的有几种

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

📰

Python 的哈希契约:为什么 list 不能当字典的键

原文链接:Python 的哈希契约:为什么 list 不能当字典的键 - 码日新 每日文章 Python 的哈希契约:为什么 list 不能当字典的键 上周帮同事看一个缓存问题:他用列表拼了个 key,运行时直接抛出 TypeError: unhashable t…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

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

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

📞 💬