STM32 ADC高精度电压采集:从硬件设计到软件滤波的完整实践
1. 项目缘起为什么ADC采集总是不准做嵌入式开发尤其是用STM32做数据采集的朋友估计都遇到过同一个灵魂拷问为什么我测出来的电压和万用表测的、和理论计算的总对不上代码明明照着手册写了电路也检查了但ADC读回来的值就是飘忽不定或者存在一个固定的偏差。这不仅仅是“精度”问题更是一个“准度”问题。精度高意味着多次测量的结果很集中准度高意味着测量结果的平均值无限接近真实值。我们追求的是既准又精。我最近在做一个需要高精度电池电压监测的项目用的STM32F103。最初的想法很简单分压电阻一接ADC一开DMA一传数据不就来了吗结果实测下来3.3V的基准测一个1.5V的干电池读数能在1.48V到1.52V之间跳动长期平均下来还比万用表测的低了0.02V左右。这点误差对某些应用可能无所谓但对我的电池电量估算来说就是致命的。于是一场从硬件到软件从原理到实践的“误差狩猎”开始了。这个过程让我意识到STM32的ADC远不是一个“即插即用”的黑盒。它的准确性是一个系统工程涉及到供电质量、基准源稳定性、PCB布局、外部电路匹配、软件配置与算法处理等多个层面。网上很多教程只告诉你怎么把ADC跑起来却很少系统性地告诉你为什么不准以及如何把它调准。这篇文章我就把自己踩过的坑、验证过的方法以及背后的原理系统地梳理一遍目标是实现稳定、可靠的亚毫伏级电压采集。无论你是刚接触ADC的新手还是被误差困扰的老鸟希望这些经验都能帮你少走弯路。2. 硬件基石决定ADC性能上限的物理层设计很多人一上来就折腾软件滤波算法这其实是本末倒置。硬件是ADC性能的天花板软件只能在这个天花板下做优化。如果硬件基础没打好再厉害的算法也是空中楼阁。2.1 供电与基准源误差的“源头”STM32的ADC模块需要两个关键的电源引脚VDDA和VSSA模拟电源/地以及一个VREF和VREF-基准电压正/负端部分型号与VDDA/VSSA复用。它们是误差的主要来源。VDDA/VSSA的处理必须独立滤波绝对不要简单地把数字电源VDD直接连到VDDA。数字电路开关噪声巨大会通过电源线直接耦合进敏感的模拟电路。标准做法是使用一个磁珠Ferrite Bead或0欧电阻从VDD隔离到VDDA并在靠近VDDA和VSSA引脚处放置一个10uF的钽电容或电解电容并联一个0.1uF100nF的陶瓷电容。大电容负责低频退耦小电容负责高频噪声。PCB布局隔离在PCB上模拟电源走线应尽可能短、粗并且与数字电源走线保持距离最好用地平面进行隔离。VSSA应该通过单点连接到主数字地DGND这个连接点通常选择在芯片下方或电源滤波电容附近。基准电压源VREF这是ADC的“尺子”。尺子本身不准量什么都白搭。内部基准STM32大多内置一个基准电压如1.2V或2.5V。方便但精度和温漂通常较差典型误差±10mV温漂几十ppm/°C。仅适用于对精度要求不高的场合。外部基准追求精度必须用外部基准芯片如REF30252.5V、REF30303.0V、ADR45252.5V等。这些芯片初始精度可达±0.05%甚至更高温漂低至几个ppm/°C。使用外部基准时VREF引脚应直接连接基准芯片输出并同样做好退耦0.1uF 1uF组合。我的踩坑记录最初我偷懒用了内部基准发现环境温度变化几度读数就有明显漂移。换成REF3025后长期稳定性大幅提升。这是提升准度的性价比最高的一步。2.2 信号调理与输入电路别让信号“受伤”ADC引脚直接连接被测信号大多数情况下这是个坏主意。1. 电压跟随器缓冲器的必要性STM32的ADC输入端有一个采样保持电路在采样瞬间会吸入一个瞬态电流取决于采样电容和采样频率。如果信号源内阻较大比如用了大阻值的分压电阻这个瞬态电流会在内阻上产生压降导致采样瞬间信号电压被拉低产生误差。解决方案在分压电路和ADC输入引脚之间加入一个电压跟随器同相放大器增益1。运放如TLV341, OPA344具有高输入阻抗和低输出阻抗可以完美隔离信号源和ADC的采样开关保证ADC看到的是稳定、无负载影响的电压。电路示例V_signal - 分压电阻网络 - 运放同相输入端 运放输出端 - ADC_INx 运放反相输入端与输出端短接运放的供电必须干净最好与VDDA同源并做好退耦。2. 抗混叠滤波RC低通滤波即使你的信号是直流的环境中也存在各种高频噪声开关电源噪声、MCU自身时钟谐波等。根据奈奎斯特采样定理高于采样频率一半的噪声会“混叠”到低频段造成无法通过软件滤除的误差。解决方案在ADC输入引脚或电压跟随器输出后添加一个简单的RC低通滤波器。电阻R通常1K-10K和电容C通常100pF-10nF构成一个截止频率为f_c 1/(2πRC)的滤波器。参数选择截止频率应略高于你关心的信号最高频率但远低于ADC采样频率的一半。例如采样频率为1MHz信号是慢变的直流可以设置f_c 10kHz选用R1kΩ, C15.9nF近似值。这个电容同时也能帮助吸收采样瞬态电流。3. 输入保护与限幅ADC引脚能承受的电压范围通常是VSSA-0.3V到VDDA0.3V。超出可能损坏芯片。即使信号源理论上不会超限上电瞬态、静电等也可能产生尖峰。解决方案可以使用一对肖特基二极管如BAT54S进行钳位一个二极管阳极接ADC引脚阴极接VDDA另一个二极管阴极接ADC引脚阳极接VSSA。也可以使用专门的TVS管。注意保护器件会引入微小的漏电流对高阻抗测量电路可能有影响。2.3 PCB布局与接地艺术这是硬件设计中最玄学也最重要的一环。模拟与数字分区在PCB布局上应将模拟部分ADC、基准源、运放、滤波电路和数字部分MCU内核、时钟、数字IO明确分开。地平面分割与单点连接可以使用完整的地平面但通过“壕沟”对模拟地区和数字地区进行分割最后在一点通常是电源入口或ADC芯片下方用0欧电阻或磁珠连接。确保模拟电流和数字电流的回流路径不重叠。敏感走线模拟信号走线尽量短远离高频数字线时钟、PWM、数据总线。如果必须交叉应垂直交叉。在信号线两侧布置“地线守卫”Guard Trace可以改善效果。去耦电容就近放置所有IC的电源引脚去耦电容0.1uF必须尽可能靠近引脚放置回流路径要短。3. 软件配置挖掘STM32 ADC的潜力硬件搭好了舞台软件就是指挥棒。STM32的ADC功能非常丰富配置不当会引入大量不必要的噪声和误差。3.1 时钟与采样时间给ADC“充足的时间”ADC时钟ADCCLK由APB2时钟分频而来。并非越快越好。STM32的ADC内核有一个最佳工作频率范围参见数据手册如STM32F1通常在14MHz以下。过高的时钟会导致转换精度下降。通常将其配置在10-14MHz之间是一个安全且性能不错的选择。采样时间Sample Time这是最关键的参数之一。它决定了ADC内部的采样保持开关保持闭合、对输入信号电容充电的时间。时间太短电容充电不足测量值会偏低且不稳定。如何计算你需要知道外部电路的输出阻抗Rs。例如如果你用了RC滤波器R就是滤波电阻如果用了电压跟随器输出阻抗可能低于100欧姆。还需要知道ADC引脚内部的采样电容Cs数据手册可查如STM32F103约为8pF。充电到1 LSB精度所需的时间常数根据公式要达到N位精度需要大约N * ln(2) * (Rs * Cs)的时间。例如Rs10kΩ, Cs8pF要达到12位精度需要12*0.693*10k*8p ≈ 0.67us。STM32的采样时间设置STM32的采样时间是以ADCCLK周期为单位的。例如ADCCLK12MHz周期为83.3ns。如果你需要0.67us那么需要0.67us / 83.3ns ≈ 8.04个周期。因此你应该选择大于等于8.5个周期的配置如SAMPLETIME_13CYCLES。我的经验对于直接接分压电阻无缓冲的高阻抗电路务必使用最长的采样时间如SAMPLETIME_239CYCLES。对于接了电压跟随器的低阻抗电路可以使用较短的采样时间。增加采样时间是降低噪声、提高准度的最有效软件手段之一代价是降低了最大采样率。3.2 校准、过采样与触发模式校准CalibrationSTM32的ADC出厂时存在偏移和增益误差。上电后在初始化工况稳定特别是VDDA稳定后必须执行一次校准。HAL库提供了HAL_ADCEx_Calibration_Start()函数。每次上电或VDDA发生重大变化后都必须重新校准。过采样与分辨率增强这是用时间换精度的经典方法。通过以高于目标分辨率的频率进行多次采样并累加平均可以有效抑制白噪声提高有效位数ENOB。原理假设噪声是随机的过采样4倍信噪比SNR提高6dB相当于增加1位有效分辨率。STM32硬件支持很多系列如F3, G4, H7的ADC内置硬件过采样器可以自动完成多次采样、累加、右移求平均并将一个高分辨率结果直接存入数据寄存器极大减轻CPU负担。即使没有硬件支持也可以在软件中轻松实现。我的配置示例软件过采样#define OVERSAMPLING_TIMES 64 uint32_t adc_sum 0; for(int i0; iOVERSAMPLING_TIMES; i){ HAL_ADC_Start(hadc1); if(HAL_ADC_PollForConversion(hadc1, 10) HAL_OK){ adc_sum HAL_ADC_GetValue(hadc1); } } uint16_t adc_result adc_sum / OVERSAMPLING_TIMES;过采样64次可以将理论有效分辨率提高约3位log2(64)/2对抑制随机噪声效果显著。触发模式软件触发最简单但定时不准容易受中断干扰。定时器触发强烈推荐。使用一个定时器如TIM2的更新事件Update Event来触发ADC转换。这样可以实现精确、稳定的采样间隔对于后续的数字信号处理如滤波至关重要因为它提供了均匀的时间序列。配置为“规则组”使用DMA进行循环传输可以实现“一劳永逸”的后台数据采集。3.3 DMA与数据搬运优化对于连续采样或多通道采样一定要用DMA。这不仅能解放CPU更重要的是能保证ADC转换完成后的数据被立即、确定性地搬走避免因中断延迟导致数据丢失或缓冲区溢出。配置为循环模式Circular这样DMA会持续不断地在固定大小的缓冲区里搬运数据配合定时器触发形成一个完美的实时数据流。缓冲区与数据处理通常设置一个双缓冲区Ping-Pong Buffer或一个较大的环形缓冲区。当DMA搬运完成一半或全部时产生一个中断或通过查询标志位在另一个缓冲区里进行数据处理如滤波、计算实现生产与消费的分离。4. 误差分析与软件后处理从数据中提取真相即使硬件和驱动都做到位了采集到的原始ADC值仍然包含误差和噪声。我们需要一套分析方法来量化误差并用算法来抑制噪声。4.1 系统性误差的标定与补偿系统性误差是固定的、可预测的误差主要包括偏移误差Offset Error和增益误差Gain Error。我们可以通过“两点标定法”来消除。两点标定法步骤准备两个已知的、稳定的精确电压源最好分别接近ADC量程的底部和顶部例如0.1V和3.2V假设VREF3.3V。可以使用精密基准电压源或高精度万用表校准过的电源。测量并记录用你的STM32系统分别测量这两个电压得到两个ADC原始值D1对应低电压V1和D2对应高电压V2。计算真实转换公式理想情况下电压V (ADC_RAW / 4095) * VREF12位ADC。存在误差时公式修正为V_actual k * ADC_RAW b其中斜率k (V2 - V1) / (D2 - D1)偏移b V1 - k * D1在软件中应用后续所有测量值ADC_RAW都通过V k * ADC_RAW b来计算实际电压。这个方法能有效消除ADC本身的零偏和增益误差以及外部基准电压的偏差。建议在产品出厂前或定期进行此标定。4.2 随机噪声的滤波算法随机噪声需要通过数字滤波来抑制。选择哪种滤波算法取决于你的应用场景实时性要求、信号频率、噪声特性。1. 移动平均滤波Moving Average 最简单对周期性干扰和随机噪声有良好抑制但会引入滞后相位延迟。#define FILTER_WINDOW_SIZE 10 uint32_t filter_buffer[FILTER_WINDOW_SIZE] {0}; uint8_t buffer_index 0; uint32_t filter_sum 0; uint16_t moving_average_filter(uint16_t new_sample) { filter_sum - filter_buffer[buffer_index]; // 减去最旧的值 filter_sum new_sample; // 加上最新的值 filter_buffer[buffer_index] new_sample; // 更新缓冲区 buffer_index (buffer_index 1) % FILTER_WINDOW_SIZE; // 索引循环 return (uint16_t)(filter_sum / FILTER_WINDOW_SIZE); }2. 一阶低通滤波IIR滤波器 计算量小实时性好相当于软件RC滤波。参数alpha0alpha1决定截止频率alpha越小滤波越强滞后也越大。float alpha 0.1; // 滤波系数 float filtered_value 0.0; float first_order_lpf(float new_sample) { filtered_value filtered_value alpha * (new_sample - filtered_value); // 或者写成 filtered_value alpha * new_sample (1-alpha) * filtered_value; return filtered_value; }3. 中值滤波 对脉冲噪声偶尔出现的尖峰有奇效。原理是取一段时间窗口内所有采样值的中位数。#define MEDIAN_WINDOW_SIZE 5 // 通常取奇数 uint16_t median_buffer[MEDIAN_WINDOW_SIZE]; uint8_t med_index 0; uint16_t median_filter(uint16_t new_sample) { // 1. 更新缓冲区 median_buffer[med_index] new_sample; med_index (med_index 1) % MEDIAN_WINDOW_SIZE; // 2. 复制到临时数组并排序可以使用冒泡等简单排序 uint16_t temp[MEDIAN_WINDOW_SIZE]; memcpy(temp, median_buffer, sizeof(temp)); // ... 排序代码 ... // 3. 返回中值 return temp[MEDIAN_WINDOW_SIZE / 2]; }我的组合策略在实际项目中我常常采用“过采样 中值滤波 移动平均”的组合拳。先用过采样获取一个初步稳定的值再用中值滤波干掉可能的突发尖峰比如开关干扰最后用移动平均让数据曲线变得平滑。这个组合在资源有限的MCU上表现非常鲁棒。4.3 量化误差与有效位数的理解这是ADC的固有误差。一个N位的ADC其理论分辨率是VREF / 2^N。例如12位ADCVREF3.3V1 LSB 3.3V / 4096 ≈ 0.806mV。这意味着任何小于0.806mV的电压变化ADC都无法区分。这就是量化误差其大小在 ±0.5 LSB 之间。但有效位数ENOB往往低于标称位数。由于噪声、非线性等因素一个12位的ADC可能只有10位或11位是真实有效的。你可以通过测量一个纯净直流信号的ADC输出观察其码值的波动范围来估算ENOB。如果波动范围是±4个码值那么峰值噪声约为4 LSB有效分辨率就降低了。提高ENOB的方法就是我们前面提到的降低噪声硬件、增加采样时间、使用过采样。5. 实战一个完整的电池电压监测方案让我们把上面所有的点串联起来设计一个用于智能设备的高精度电池电压监测方案。需求监测一节锂离子电池标称3.7V满电4.2V放电截止2.8V的电压精度要求达到±10mV以内用于精确估算剩余电量。硬件方案分压电路电池电压最高4.2V超过MCU的3.3V需要分压。选用高精度、低温漂的金属膜电阻0.1%精度25ppm/°C。分压比设计为R1/(R1R2) 3.0/4.2 ≈ 0.714例如 R110k, R24.02k这样4.2V输入对应3.0V输出留出0.3V余量。电压跟随器分压网络输出阻抗约7.2kΩ10k//4.02k较高。使用一颗低功耗、轨到轨输出的精密运放如TLV341构成电压跟随器。RC滤波在运放输出端添加R1kΩ, C10nF的滤波器截止频率约16kHz。基准源使用REF3025提供2.5V精密基准电压给STM32的VREF引脚。VDDA通过磁珠从3.3V LDO获取并配合10uF和0.1uF电容退耦。PCB模拟部分集中布局地平面分割信号线短直。软件方案基于HAL库初始化配置ADC时钟为12MHzAPB272MHz6分频。设置采样时间为ADC_SAMPLETIME_239CYCLES确保对RC滤波电路充分充电。选择外部基准VREF作为参考。启用DMA循环模式数据宽度为半字16位。配置一个定时器TIM6产生1kHz的更新事件作为ADC的触发源。校准与启动// 系统上电VDDA稳定后延时至少100ms HAL_ADCEx_Calibration_Start(hadc1); // 启动DMA HAL_ADC_Start_DMA(hadc1, (uint32_t*)adc_buffer, BUFFER_SIZE); // 启动定时器ADC将自动以1kHz频率采样 HAL_TIM_Base_Start(htim6);数据处理在DMA半传输/传输完成中断中处理已满的半个缓冲区。软件过采样虽然硬件是1kHz采样但我每100ms即100个点计算一次有效电压值。void process_adc_buffer(uint16_t *buf, uint32_t len) { uint32_t sum 0; // 1. 可选先做一个简单的中值滤波预处理去除野值 // 2. 求和 for(int i0; ilen; i) { sum buf[i]; } uint16_t raw_avg sum / len; // 这相当于一次移动平均 // 3. 应用两点标定公式 (k, b 为预先标定好的系数) float voltage_adc k * (float)raw_avg b; // 4. 反算电池电压 (考虑分压比) float battery_voltage voltage_adc * (R1 R2) / R2; // 根据分压公式反推 // 5. 可以再进行一次一阶低通滤波让显示更平滑 static float filtered_voltage 0.0; filtered_voltage filtered_voltage 0.1 * (battery_voltage - filtered_voltage); // 使用 filtered_voltage 进行电量计算或显示 }标定流程在产品测试工装上通过精密可调电源给设备供电分别模拟电池电压为3.0V和4.0V对应ADC输入约2.14V和2.86V。记录设备在这两个电压下的raw_avg值D1和D2。计算k和b并烧录到设备的Flash或EEPROM中。实测结果经过上述全套优化我的系统测量一个稳定的3.000V基准源连续测量一小时的波动范围在±2mV以内与六位半台表对比系统误差小于±5mV。完全满足了电池电量计的精度要求。整个优化过程的核心思想是先保证硬件基础扎实再优化软件配置最后用算法弥补剩余不足。希望这个完整的案例能为你提供一个清晰的、可复现的精准ADC设计路线图。记住精准测量没有银弹它是对每一个细节不懈追求的结果。

相关新闻

别再用正则硬扛了!用语义沙箱+上下文签名+动态策略引擎构建AI原生防御(附开源PoC代码库)

别再用正则硬扛了!用语义沙箱+上下文签名+动态策略引擎构建AI原生防御(附开源PoC代码库)

更多请点击: https://kaifayun.com 第一章:AI提示注入防御 AI提示注入(Prompt Injection)是一种针对大语言模型应用的新型安全威胁,攻击者通过精心构造的输入,绕过系统预设指令约束,诱导模型执…

2026/10/11 5:27:09 阅读更多 →
远程控制桌面软件有哪些 手机怎么远程控制电脑

远程控制桌面软件有哪些 手机怎么远程控制电脑

日常外出办事、临时外出离岗时,很多人都想随时随地用手机远程控制桌面,及时处理电脑里的未完成工作或是娱乐内容。想要稳定流畅地远程控制桌面,不用折腾复杂设置,无界趣连2.0是很贴合普通用户需求的选择,兼顾办公实用性…

2026/10/5 13:23:11 阅读更多 →
DS随心转导出Excel:国产AI表格数字和日期错乱的处理方法

DS随心转导出Excel:国产AI表格数字和日期错乱的处理方法

DS随心转导出Excel:国产AI表格数字和日期错乱的处理方法 一句话答案 DeepSeek、豆包、Kimi、通义千问、腾讯元宝生成的表格,如果直接复制到 Excel,常见问题是长数字变科学计数法、日期被自动改写、编号前导零丢失。更稳的做法是先保留 Markdo…

2026/9/23 5:14:03 阅读更多 →

最新新闻

SpringBoot+Vue医药管理系统源码解析:从数据库设计到答辩实战

SpringBoot+Vue医药管理系统源码解析:从数据库设计到答辩实战

1. 项目全景拆解:为什么这套医药管理系统值得花时间琢磨我见过太多人拿到“SpringBootVue 医药管理系统平台完整项目源码SQL脚本接口文档”这套材料后,第一反应是解压、导入、跑起来,然后截图、写论文、答辩,完事。但实话讲&#…

2026/10/11 5:26:42 阅读更多 →
Chroma向量数据库查询实战:语义检索与过滤组合详解

Chroma向量数据库查询实战:语义检索与过滤组合详解

做向量数据库查询,最容易被低估的是“查询”这两个字。我帮几个团队落地过RAG检索增强的问答系统,大家前期注意力基本都放在数据切块和Embedding模型上,等接口调起来才发现,真正决定系统能不能上线的,其实是集合查询这…

2026/10/11 5:26:42 阅读更多 →
# nVisual 实施配置详解:登录页定制(access.js)

# nVisual 实施配置详解:登录页定制(access.js)

摘要 登录页是客户的第一印象。实施交付时,「把 Logo 换成客户的」「登录按钮改成客户品牌色」「背景图固定成客户指定图」「头部脚部加客户 Logo 条」——这些需求全部集中在 public/config/access.js 一个文件里。 它的核心思路是:登录页的各个区域&…

2026/10/11 5:26:42 阅读更多 →
大模型Token学习指南

大模型Token学习指南

做过大模型后端开发的人,几乎都踩过Token的坑:估算1000字的文档刚好塞进32K上下文,结果调用直接被截断;按通用公式算好的API成本,月底账单直接超了50%;同一段代码在Qwen里Token数明明够用,换到L…

2026/10/11 5:26:42 阅读更多 →
个人微信API二次开发:收到微信图片后怎么保存和识别?

个人微信API二次开发:收到微信图片后怎么保存和识别?

做微信客服或者客户管理系统时,图片也是一种很常见的消息。 客户可能发送商品截图、付款凭证、故障截图,也可能直接发一张产品照片。如果系统只保存文字消息,这些图片信息就很容易遗漏。 先确认回调里有哪些数据 收到图片消息后&#xff0…

2026/10/11 5:26:42 阅读更多 →
企业级大数据可视化平台架构设计与性能优化实践

企业级大数据可视化平台架构设计与性能优化实践

1. 从一张“慢得想砸电脑”的大屏说起先讲个我亲身踩过的例子。某个客户找到我们,说他们内部的经营分析大屏打开一次要等三十秒,图表转圈转到一半直接白屏,领导在旁边等着看数据,气氛要多尴尬有多尴尬。当时我接手之后第一件事不是…

2026/10/11 5:25:42 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/10 10:38:42 阅读更多 →