不买开发板也能学STM32:纯软件仿真外设入门指南
1. 先别急着下单买板子纯软件仿真到底能学到什么说句实话我最早接触STM32的时候跟很多新手一样卡在同一个地方教材、视频、例程都齐了就差一块开发板。网上推荐最多的板子也就几十上百块但加上下载器、杜邦线、面包板、各种传感器模块预算一下子就上去了。更麻烦的是很多人其实并不确定自己会不会坚持学下去买回来吃灰的概率并不低。后来我换了个思路既然C语言程序可以在电脑上编译运行那嵌入式程序能不能也在电脑上仿真运行答案是能。芯片原厂官方的IDE里自带了一套全软件仿真器不需要接任何硬件就能把GPIO、定时器、串口、中断这些外设一个个跑起来。我就是用这套“纯软件”方案把STM32的入门外设全部过了一遍如今回想这段经历的价值比想象中高得多。这套方案适合谁首先是预算紧张的学生党其次是只想验证某个外设逻辑而不想反复插拔板子的在职开发者还有一些被硬件问题劝退、迟迟没迈出第一步的零基础读者。说白了它解决的不是“要不要买板子”的问题而是“如何在最低门槛下把学习阻力降到最小”的问题。我用了大概一个月时间通过仿真环境把GPIO输出、按键输入、外部中断、定时器中断、PWM、串口收发、ADC采集这些最常见的模块全部跑通还做了几个综合性的模拟小项目。这篇文章就是把我的完整过程、工具选择、踩坑记录和学习心得整理出来给打算走这条路的读者一份可以直接照抄的作业。2. 仿真环境搭建从工具选型到第一个工程2.1 为什么我最终选择了原厂IDE方案纯软件仿真STM32网上能搜到的方案主要有两条路一条是“工程软件第三方仿真工具”的组合另一条是直接用芯片原厂的开发环境配合其自带的软件模拟器。先说前者第三方仿真工具的电路仿真能力确实很强可以搭一个虚拟电路把LED、电阻、按键、晶振都拖到图纸上然后加载编译好的程序跑仿真能看灯亮、能看波形。但我试用之后发现两个比较麻烦的问题一是它跟真实开发流程有割裂感工程配置、编译、仿真分散在两个软件里文件同步偶尔出幺蛾子二是部分版本对芯片型号的支持不是特别及时新型号的模拟可能不准确。原厂IDE的方案就完全不一样了。它把芯片选型、引脚配置、时钟设置、代码生成、编译、调试、软件仿真都放在同一个环境里所有操作都贴近真实开发流程。也就是说你今天在仿真器里怎么配置的工程明天拿到真实板子上依然适用切换成本几乎为零。我不是说第三方工具不好而是对于“学外设怎么用、程序逻辑怎么写”这件事原厂IDE的仿真器更贴地气。2.2 创建仿真工程时容易忽略的几个细节打开原厂IDE新建一个STM32工程这一步本身不复杂但有几个细节很容易被忽略直接影响后续仿真能否顺利跑起来。第一个细节是芯片型号选择。一定要选带“后缀字母”的具体型号而不是只选系列名称。软件仿真器对具体型号的识别和真实芯片是一致的外设寄存器映射必须精确到某个具体型号才能正常模拟。我一开始选了某个系列下的通用型号结果串口外设的寄存器地址对不上程序一跑到初始化就卡死排查了很久才发现是型号选得太模糊。第二个细节是时钟配置。新建工程时用图形化界面配置时钟树系统会自动生成时钟初始化代码。仿真环境下配置一个合理的时钟树同样重要因为外设的波特率、定时器频率都由它决定。很多初学者忽视这一步直接沿用默认值结果UART输出乱码还以为是自己代码写错了。第三个细节是调试接口配置。仿真器实际上是通过模拟调试接口跟“虚拟芯片”通信的所以工程里的调试接口设置必须保持使能不能把它禁用掉。某些工程模板为了省电会把调试接口关掉用作GPIO这在真实板子上没问题但在仿真器里会导致程序一启动就跑飞因为调试器连不上芯片了。2.3 我的搭建步骤和验证方法具体操作流程我整理成了一份清单照着走基本不会出错安装原厂IDE注意选择与当前操作系统匹配的版本安装路径不要带中文和空格。打开IDE新建STM32工程在芯片选型界面搜索并选择具体型号例如某个系列的某款芯片。在图形化配置界面里先配置时钟树把系统时钟来源设为外部或内部高速时钟并确认主频数值。根据需要使能外设比如USART1、TIM2、ADC1逐个配置参数暂时用不到的模块先不要打开减少干扰因素。在工程管理选项卡里给工程起名字、选择工具链确认代码生成方式。点击生成代码然后切换到代码编辑视图编译整个工程确保零错误零警告。从调试菜单启动调试会话选择“软件仿真”作为调试目标进入调试界面。在调试界面中程序会停在主函数入口此时点击全速运行观察程序行为。第一次跑通时我在图形界面里把某个GPIO引脚配置为输出模式然后在主循环里交替写高写低编译后启动软件仿真全速运行几秒后暂停再用逻辑分析仪窗口看引脚波形——干干净净的方波就躺在那里。那一刻我确实有点激动毕竟一分钱硬件没花就把“点灯”这个经典的入门实验跑通了。提示软件仿真器属于指令级模拟它模拟的是处理器核和外设寄存器的行为逻辑跟真实芯片的电气特性不完全一样但用于学习外设的工作原理和程序流程完全够用。3. 外设逐个跑通GPIO、定时器、UART、中断与ADC的仿真实践3.1 GPIO输出与输入从点灯到按键扫描GPIO是ST32外设里最基础也最直观的一个。输出模式的本质就是往一个数据寄存器里写0或1然后芯片引脚上对应输出低电平或高电平。在仿真器里我用逻辑分析仪观察引脚电平变化和真实逻辑分析仪探头夹在引脚上看波形效果几乎一样。第一次实验我写了两个功能一是让某个引脚输出方波周期可以通过延时函数调整二是模拟按键扫描在一个引脚上配置输入模式循环读取电平状态根据状态翻转另一个引脚的电平。这其实就是按键控制LED的经典场景。为了看到效果我在仿真器里给输入引脚设置了一个“外部信号激励”通过手动改变该引脚的模拟电平值观察输出引脚是否跟着翻转。这一步学到的核心知识点不是“怎么写代码”而是理解GPIO配置的几个关键参数模式、速度、上下拉、输出类型。图形界面里点几下鼠标就能完成配置但代码生成后跑到寄存器层面你会发现每次操作背后就是一个LOAD和STORE指令。理解了这一层后面学I2C、SPI这类时序外设时会轻松很多因为它们本质上也是GPIO逻辑的扩展。3.2 定时器从定时中断到PWM波形生成定时器是嵌入式开发里出场率最高的外设之一它的应用场景包括延时、计时、PWM、编码器测速、输入捕获等等。我在仿真环境里重点看了两方面一是基本定时中断二是PWM输出。基本定时中断实验很直观配置定时器时钟源、预分频系数、自动重载值使能更新中断在中断回调函数里翻转一个GPIO引脚。通过调整预分频和重载值可以精确控制翻转频率。这里有个容易踩的坑图形界面里填了参数但忘了在“NVIC设置”选项卡里勾选“使能中断”导致程序跑起来定时器确实在计数但中断回调永远不执行。这个坑在仿真器和真板上都会出现属于非常典型的遗漏。PWM实验就更有意思了。我配置了某个定时器的通道为PWM输出模式调整占空比和频率然后在逻辑分析仪窗口看波形。随着占空比从0%逐步调到100%波形脉宽肉眼可见地变化。由于仿真器的波形是基于寄存器实际值生成的所以当时我甚至拿它验证了“先改比较寄存器再等更新事件、避免毛刺”这个真实开发中常见的时序处理技巧。3.3 UART串口在虚拟终端里跑通数据回显串口在真实开发里是调试的“生命线”printf输出的每行信息都是开发者的眼睛。仿真器里也一样它可以虚拟出一个串口终端把程序里通过UART发送的数据显示出来。我做的实验是经典的回显功能初始化UART后在主循环里读取接收寄存器收到数据后立即从发送寄存器发回去。在仿真器自带的虚拟串口终端窗口里输入字符立刻就能看到回显。这一步有个让我记忆深刻的坑波特率配置不对会输出乱码。我为了调试方便把参数乱填了一通结果虚拟终端上显示的全是乱码字符。排查发现是分频计算参数填错了真实波特率跟预期差了将近一倍。修好之后我又专门验证了一组不同波特率下的收发发现仿真器对波特率误差的容忍度跟真实芯片的容错逻辑是一致的这也是一个意外收获。3.4 中断系统外部中断和优先级理解中断是嵌入式学习里绕不开的难点。仿真环境对中断的模拟很完整包括中断触发条件、中断服务程序跳转、嵌套优先级抢占等。我做了外部按键中断的仿真通过在调试界面里手动修改某个输入引脚的电平值模拟按下和松开按键的过程。跑这个实验的主要目的在于理解NVIC中断控制器的行为怎么分组、怎么设置抢占优先级和子优先级、中断服务函数怎么写、中断里为什么不能做耗时操作。这些概念在书本上看多少遍都不如亲手跑一遍来得实在。我在仿真器里还试了一个极端的操作在中断服务函数里写了一个很长的循环然后在外部中断触发的同时又产生了一个更高优先级的定时器中断。结果跟预期一致高优先级中断打断了低优先级中断的执行。这个在书上是“理论”在仿真器里变成了“亲眼所见”。3.5 ADC采集虚拟电压值的读取与应用ADC实验是我最怀疑仿真器能不能跑好的一个外设毕竟模拟电压信号怎么在数字世界里模拟是个问题。结果出乎意料地顺利在仿真配置里可以给ADC输入引脚设置一个模拟电压值程序启动后读取ADC转换结果再把数字量换算成电压值发送到串口终端显示。更实用的玩法是把ADC数值跟PWM输出绑定模拟一个呼吸灯效果读取电位器电压值映射为PWM占空比逻辑分析仪上能看到PWM波形随电压变化。整个过程完全在仿真器里进行没有一根跳线和一件真实硬件。通过ADC实验我理解了采样保持、分辨率、转换时间、参考电压这些概念的实际意义。比如把参考电压从3.3V改成内部2.5V基准同样一个模拟电压值转换出的数字量完全不一样——这种细节在纯看书时很难形成直观印象。4. 仿真与真板子的差距哪些能放心学哪些必须上硬件4.1 逻辑行为一致物理特性无法模拟仿真器最让人放心的一点是它跑的是真正的ARM指令而不是某种简化版的“伪代码”。这就意味着所有基于寄存器的操作、中断跳转、外设状态机的行为都跟真实芯片保持一致。我在仿真器里调通的代码放到真实板子上编译烧录后功能表现基本一致没有出现“仿真能跑、上板就挂”的情况。但物理层面的东西仿真器就无能为力了。比如GPIO输出的驱动能力、信号的上升沿和下降沿时间、布线带来的干扰、电源纹波对ADC精度的影响这些都是真实硬件才有的问题。换句话说仿真器能帮你验证“逻辑对不对”但验证不了“信号好不好”。4.2 仿真中难以覆盖的调试场景有些调试场景在仿真器里体验不到。最典型的是在线调试中的硬故障异常。软件仿真里程序如果出现了非法访问通常会停在某个调试界面并给出提示但真实板子上的表现可能更复杂程序跑飞、复位重启、外设状态错乱需要借助更多调试手段才能定位。另一个差异是断电测试和低功耗模式。真实板子可以测量睡眠、停机、待机模式下的电流消耗这在仿真器里毫无意义因为电流是硬件特性。如果你将来要开发电池供电产品那低功耗部分的学习最终还是需要一块真实板子。4.3 我的判断什么时候该买板子我的结论是不要一上来就买板子但也别永远不买板子。先用纯软件仿真把外设原理和编程逻辑跑通建立信心再根据后续实际需求决定是否购入硬件。一般来说当你开始对以下问题产生兴趣时就是该上真板的时候了想知道程序跑在真实芯片上会不会出现时序问题需要测试真实传感器的通信时序要测量功耗、信号完整性、电气参数需要在真实环境下验证整个系统的稳定性如果只是学习语言、了解外设寄存器、验证代码逻辑仿真器完全能覆盖80%以上的需求剩下20%的硬件功课可以等确定方向后再补。5. 我在仿真排错过程中走通的完整排查链路5.1 一次“卡死在初始化”的定位过程我印象最深的一次排查是仿真运行程序后它卡在某个外设初始化函数里出不来。第一反应是代码死循环但我把断点打在初始化函数入口单步跟进去后发现它卡在一个“等待某个标志位置位”的循环里。这个标志位通常意味着外设正在等待某个硬件条件成立比如时钟稳定、总线空闲、转换完成。由于仿真器是软件模拟某些外设的硬件触发条件需要先在配置界面里正确初始化或者需要手动设置某个状态它才会认为条件满足。换句话说它的外设状态机是完整的但触发源头必须按它的规则来。我当时的处理步骤是这样的全速运行记录卡死位置发现是在外设初始化函数内部。单步进入定位到等待循环查看等待的状态标志位。在寄存器窗口查看该外设的控制寄存器和状态寄存器的当前值。对照数据手册分析标志位置位需要什么前置条件。回到配置界面确认外设时钟有没有打开、引脚有没有被占用、参数有没有冲突。修正配置重新生成代码再次仿真问题解决。这个问题排查下来我对“外设初始化本质上就是操作寄存器”这件事有了更真切的体会。以前在真板上遇到类似问题往往因为手边没有逻辑分析仪而盲猜仿真器反而把寄存器状态全部透明化排查效率更高。5.2 使用仿真器的调试工具定位逻辑跑飞逻辑跑飞是嵌入式开发中很常见的问题表现为主程序指针跳到了意料之外的地址程序表现完全失控。在真板上这类问题定位非常麻烦往往需要接上调试器查看PC寄存器的异常值或者加上各种保护机制来缩小范围。在仿真器里我复现过一次因数组越界导致的逻辑跑飞。程序写入数组时超界破坏了栈上的某个局部变量导致函数返回时跳到了一个非法地址。仿真器的调用栈窗口和反汇编窗口帮了大忙从调用栈里可以看出函数嵌套关系反汇编窗口可以看到实际执行的指令序列很快就锁定了越界写入的位置。那之后我对“缓冲区边界”这件事特别敏感。无论是通信接收、数据处理还是字符串操作我都会反复检查长度限制。这也是仿真器教给我的一课逻辑跑飞不是玄学只要肯花时间用工具一层层剖析总能找到根因。5.3 仿真器逻辑分析仪窗口的正确打开方式原厂IDE调试界面里自带了一个逻辑分析仪窗口很多人不知道它怎么用。其实它的原理是周期性采集某些变量的值并把它们绘制成随时间变化的波形。由于仿真器本身就是软件运行采样点位可以设得非常高甚至可以在每条指令后都记录一次指定变量的变化情况。我用它来分析PWM波形时是通过图形界面生成代码添加一个用户变量到逻辑分析仪窗口然后选择某引脚的输出数据寄存器值作为观察对象。运行程序后波形随时间展开高低电平的周期性变化清晰可见。它还能做光标测量直接读出某个电平的持续时间用来验证频率和占空比是否跟预期一致。提示逻辑分析仪窗口里加的是变量或寄存器表达式而不是引脚名。要在表达式框里输入类似“某个寄存器地址的别名”或者“某个变量的名字”的表达式才能采集到有效波形。5.4 仿真外设支持不完整时的替代方案软件仿真器虽然覆盖了大部分常见外设但某些特定型号的特定外设或者某些较新的外设模块模拟支持可能滞后。比较典型的例子是一些高级通信接口或特定加密模块在早期版本的仿真器中可能无法完整模拟。遇到这种情况我的应对方法是查询官方文档里关于该外设支持范围的说明确认是否在受限列表里。如果确实不支持那就退而求其次用GPIO模拟或者寄存器直接操作的方式绕过封装好的库函数先验证核心代码逻辑。例如某个串行外设接口仿真有问题我就用GPIO手动翻转电平来模拟时钟和数据线虽然效率低但通信时序的原理反而看得更清楚。我也曾尝试过第三方仿真工具作为补充但说实话配置文件同步、外设模型精度差异这些问题增加了不少额外负担。对于入门学习而言官方工具的仿真支持已经足够了与其频繁更换工具链不如把当前环境彻底摸透。6. 给打算走这条路的读者几点学习建议仿真学习最大的敌人不是工具缺陷而是“以为自己在学其实只是在点击”。图形化配置界面虽然简单但如果每次都靠鼠标点出来而不知道自己点了什么那这个配置就是无效的。我的经验是每次在图形界面里修改一个参数就去生成的代码里找到对应的那几行寄存器操作把鼠标点击和代码逻辑一一对应起来这样才能真正吸收。另一个建议是不要贪多。外设数量很多但彼此之间是有依赖和共性的。比如UART的波特率配置涉及时钟分频定时器的预分频和重载值也涉及时钟分频掌握其中一种其他外设的时钟配置就能举一反三。我建议按照GPIO、定时器、串口、中断、ADC这个顺序依次学每个模块稳定跑通后再进入下一个不要一次把五个外设全部铺开。最后想说的一点是纯软件方案不是捷径更不是偷懒它只是把学习过程中跟“硬件准备”相关的摩擦降到了最低。该写的代码一行不少该理解的寄存器一个不缺唯一节省下来的是等待硬件到货和排除硬件故障的时间。把这些时间花在代码和原理上才是真正的性价比。我自己走完这一圈最大的体会是很多时候卡住我们的不是事情本身有多难而是启动的成本太高。这套纯软件仿真方案本质上是把启动成本降到了一个只要打开电脑就能开始学习的程度。如果你正好对STM32感兴趣又犹豫要不要先买块板子不妨先把这个仿真环境搭起来跑通第一个外设再说。等到哪天觉得仿真不能满足你了再下单买板子也不迟——那时候的你已经知道该用这块板子做什么了。

相关新闻

ESP8285+MQTTX:电机控制器物联网接入实战

ESP8285+MQTTX:电机控制器物联网接入实战

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

2026/10/12 1:40:54 阅读更多 →
YASB 测试体系深度解析:从 pytest 运行、Windows SDK 校验到 CI 流水线

YASB 测试体系深度解析:从 pytest 运行、Windows SDK 校验到 CI 流水线

桌面应用 【免费下载链接】yasb A highly configurable Windows status bar written in Python. 项目地址: https://gitcode.com/gh_mirrors/yas/yasb 点击查看 免费下载 本文以 YASB(Yet Another Status Bar,一个高度可配置的 Windows 状态…

2026/10/12 1:39:54 阅读更多 →
EarlGrey 版本兼容性全解析:Release、earlgrey Gem 与 CocoaPods 版本对照指南

EarlGrey 版本兼容性全解析:Release、earlgrey Gem 与 CocoaPods 版本对照指南

测试 【免费下载链接】EarlGrey :tea: iOS UI Automation Test Framework 项目地址: https://gitcode.com/gh_mirrors/ea/EarlGrey 点击查看 免费下载 EarlGrey 的安装与版本选择横跨三套独立版本体系——框架 Release 版本、Ruby 安装工具 earlgrey gem 的版本、以…

2026/10/12 1:39:54 阅读更多 →

最新新闻

【深度学习新浪潮】Meta Muse 智能体:它是什么?有哪些特点?为什么突然火了?

【深度学习新浪潮】Meta Muse 智能体:它是什么?有哪些特点?为什么突然火了?

1. 引言 近期,Meta Muse 智能体在 AI 领域引发广泛关注,开发者、创作者与科技从业者纷纷展开讨论。许多初次接触者不禁疑惑:这是 Meta 推出的又一款大模型?抑或仅是蹭热度的 AI 玩具? 事实并非如此。Meta Muse 是 Meta 在 AI 智能体方向的一次战略性布局,它并非简单的对…

2026/10/12 2:24:22 阅读更多 →
Spring-boot-3 -注解 yaml配置 -日志

Spring-boot-3 -注解 yaml配置 -日志

4、核心技能1. 常用注解SpringBoot 摒弃 XML 配置方式,改为全注解驱动1. 组件注册Configuration 自定义配置类、SpringBootConfiguration 用来标注SpringBoot主启动类的Bean 可以在自定义配置类面创建对象交给ioc容器,组件在容器中的名字为方法名、Scope…

2026/10/12 2:24:22 阅读更多 →
Neuroimage: 动态功能连接方法的重测信度比较

Neuroimage: 动态功能连接方法的重测信度比较

本篇文献发表在Neuroimage杂志。所发布内容旨在与大家分享学术新知,促进交流学习版权归原作者或原出处所有,感谢各位学者的辛勤付出与研究成果。1.引言大脑的功能组织具有丰富的时空结构,可以使用功能连接指标进行探测。功能连接被定义为两个…

2026/10/12 2:24:22 阅读更多 →
page_alloc __rmqueue

page_alloc __rmqueue

__rmqueue() 是伙伴系统分配路径的核心调度器。它在持有 zone->lock 的前提下,按照碎片化风险从低到高的顺序,依次尝试不同的分配策略,直到成功或彻底失败。核心作用与策略链它的本质是一个多级降级策略链:先尝试最“干净”的方…

2026/10/12 2:24:22 阅读更多 →
游戏引擎中物理步进与动画采样的同步机制解析

游戏引擎中物理步进与动画采样的同步机制解析

1. 这不是教科书,是我在三个项目里拆过七次引擎后写下的物理与动画系统手记“游戏引擎架构深度解析(三):物理与动画系统”——看到这个标题,你大概率正卡在某个角色落地时穿模、布料抖动像癫痫发作、或者刚加完一个新关…

2026/10/12 2:24:22 阅读更多 →
产业与汇率全景分析深入分析多表格形成一篇文章

产业与汇率全景分析深入分析多表格形成一篇文章

产业与汇率全景深度分析:汇率是外生变量,产业是底层根基引言汇率从来不是孤立的数字,它是一国产业竞争力、贸易结构、资本流动、宏观政策、全球供需格局共同定价的结果;反过来,汇率波动又会重塑产业成本、订单、利润、…

2026/10/12 2:23:21 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →