条码标签打印软件里最容易被做成“事故”的一个功能就是流水号。我这些年帮不少仓库、产线、门店处理过标签打号的问题其中问得最集中的一类就是——为什么我的流水号打出来是跳号的。有意思的是“跳号”这个词在条码标签打印软件里其实是个双关一种是我们主动想要的、按固定步长间隔递增的跳号比如 001、003、005另一种是意料之外的漏号断号本该 001、002、003结果打出来 001、003、004。前者是功能后者是故障两者的配置路径和排查方向完全相反。这篇就围绕 Label mx 条码标签打印软件生成跳号流水号这件事把主动跳号怎么做、被动跳号怎么查一次讲透。仓库打标员、产线设备管理员、以及刚接手标签模板维护的同学都能直接照着抄。1. 先把“跳号”这件事说清楚两种含义天差地别很多人拿着打出来的标签来找我说“跳号了”我第一句话一定是反问你是想要跳号还是不想跳号这两个答案对应的处理动作是相反的。所以动手之前得先把概念掰开。1.1 主动跳号用步长控制出来的间隔流水号主动跳号指的是我在模板里明确告诉软件“每次加 2 或者加 5”于是打印序列变成 1001、1003、1005……这种跳号是完全受控的本质上是流水号的步长增量设置只是大家习惯叫它“跳号”。什么时候需要这么干我遇到过的典型场景有这么几类。一是双线并行生产两条产线共用一套编号规则A 线领奇数号段、B 线领偶数号段各自打印时步长都设成 2起始值一个填奇数、一个填偶数两条线的标签永远不会撞号。二是预留号段某些行业要求标签号与实物一一对应但中间要留出返工、补发的余量于是按 1、6、11 这样留 4 个空位。三是分区管理一个货架上的库位标签每隔若干号留给下一排货架方便后期插建。这类跳号在 Label mx 里的实现路径很直接——流水号对象属性里的“步长”或者“增量”字段默认是 1改成你需要的值即可。难的不是设置而是配套的终止值、位数、溢出策略要一起算这个后面会详细拆。1.2 被动跳号打印结果漏号断号被动跳号就是真出问题了。最常见的表现是本次任务计划打 100 张起始号 2001理论上最后一张是 2100结果中间少了几十号或者最后一张变成了 2137。这类问题的成因非常分散可能出在数据源、模板对象、打印份数、驱动设置、甚至打印机走纸机构上。我个人的经验是被动跳号有 80% 出在“份数”和“重打”这两个动作上而不是软件本身的计数器坏了。因为流水号本质上是一个变量它的值在每次“提交打印”时被消费掉只要提交次数和你预期的不一致号就会偏移。1.3 为什么必须先分清这两类因为排查方向完全相反。如果是主动跳号打错了你去查走纸、查传感器纯属浪费时间——那一定是步长、起始值或者位数算错了。反过来如果你想要连续号却打出跳号你去改步长只会让号跳得更离谱。我建议养成一个习惯每次上量之前先打 5 到 10 张试样肉眼把号码连起来读一遍。这十秒钟的动作能挡住后面 90% 的返工。试样这一环后面第 3 章还会再展开讲怎么打才有意义。2. 流水号的底层模型一个能被数学描述的计数器想把跳号做稳最好别把流水号当“软件功能”看把它当一个计数器看。计数器就四个参数从哪开始、每次加多少、显示几位、加到什么时候停。这四个参数一旦算清楚跳号就是一道小学算术题。2.1 流水号的四要素起始值、步长、位数与补零、边界行为起始值决定第一个号。这里有个坑很多软件里“起始值”指的是模板打开后第一次打印用的号而不是整个项目的第一个号。如果中途计数器已经前进过你重新打开模板起始值可能不会回退。步长就是跳号的幅度默认 1可以填 2、5、10 甚至任意正整数。注意有些版本支持小数或者负数负步长可以做倒序流水号比如 0500、0499、0498这个在有效期倒计时类标签上有人用但要小心和终止值的方向搞反会导致直接溢出报错。位数与补零是视觉层的东西。位数填 6值 12 就显示 000012位数填 3值 12 显示 012。位数的选择必须匹配你最大的号值这是最容易被忽略的一条下一小节细说。边界行为指到达终止值以后怎么办。常见三种停止并报警、循环回起始值、继续递增突破位数。产线上我一般推荐“停止并报警”宁可停线也不能打出超范围的号——超范围的号一旦贴出去追溯的时候就是一笔糊涂账。2.2 前缀后缀与“序号段”的隔离实际标签上的流水号很少是纯数字通常是PO-2024-000123-A这种。这里的关键是把固定部分和变动部分分开只让变动部分参与计数。Label mx 这类软件一般有两种做法一是流水号对象里自带前缀/后缀字段把PO-2024-写在前面、-A写在后面中间只放计数器二是用两个独立对象拼在一起一个静态文本、一个流水号。我强烈建议用第一种因为在同一个对象里前缀后缀不参与运算也不会因为位数变化而被截断拆成两个对象以后一旦流水号长度变化两个对象的相对位置就会漂移打印出来就是错位。还有一个隐蔽的坑如果你的前缀里本身带数字比如LOT2024B有些软件在“从字符串中提取数字作为起始值”的逻辑下会误读把 2024 当成起始号。稳妥做法是前缀里避免纯数字段或者强制指定“手动输入起始值”。2.3 为什么补零位数算错会引发“看起来跳号”这是我在现场见过最多的“假跳号”。假设你要打 1 到 1000 号位数填了 3补零以后是 001 到 999。第 1000 张呢值 1000 需要 4 位位数只有 3 位不同软件的处理不一样有的截断成 000看起来倒退回去了、有的直接溢出报错中断任务、有的自动扩位变成 1000结果标签宽度不够最后一位被裁掉看起来又变成 100。三种表现用户看到的都是“号乱了”。所以位数一定要按最大号算公式很简单位数 终止值的整数位数要打 1 到 1000位数就是 4起始值 0001。要打 1 到 100000位数就是 6。宁可多留一位也别贴着上限卡。多一位只是标签上多占几个毫米少一位就是整批返工。顺手把号量也算清楚避免中途改主意参数公式示例可用号数(终止值 − 起始值) ÷ 步长 1(2000 − 1000) ÷ 2 1 501所需位数终止值的整数位数2000 → 4 位打印张数可用号数 × 每号份数501 × 1 501 张标签总长张数 × (标签高 间距)501 × (30 3) 16533 mm最后一行很多人不算结果打到一半发现一卷纸不够中途换卷又忘了记录当前号回来接着打就断号了。这个坑我在第 4 章会单独讲。3. 实操在标签上做出一个可控跳号的流水号理论说完上一遍完整流程。下面的步骤是按 Label mx 这类条码标签打印软件的通用交互写的不同版本菜单名可能略有差异但逻辑一致。3.1 从空白标签到可打印模板第一步永远是把纸和打印机的物理参数对齐这一步错了后面所有设置都白搭。新建标签填入实测的标签宽度、高度。用卡尺量别用包装盒上印的标称值我见过标称 40×30 实际 39.5×29.8 的差 0.5mm 就会在几百张之后累积成整行偏移。设置行列数。单列就填 1 列如果是 A4 拼版或者多列卷标这里要填对因为列数直接影响“每页消耗多少个流水号”。设置间距gap。卷标看模切间距页标看行距。这个值建议按 10 张试样反推打 10 张量第 1 张和第 10 张的顶部距离除以 9得到实际间距。选打印机驱动纸张尺寸必须和标签设置一致。驱动里选了 A4、模板里是 40×30预览正常、实际打出来会整体缩小或错位。模板尺寸这一步我一般会留一个“校准标签”在四个角各放一个 2mm 的小方块打印后量实际位置能直接看出偏移方向和幅度。3.2 流水号属性面板逐个参数拆解放一个文本对象或者条码对象把它转换成“流水号/序列号”类型会看到一个参数面板。我按重要程度逐个说参数作用跳号场景下的建议值踩坑点起始值第一个号按号段规划填中途改会打乱已有记录终止值最后一个号明确填写别留空留空则无边界容易打飞步长/增量跳号幅度按需填 2、5、10与起始值奇偶性要匹配位数/长度显示字符数终止值的位数少一位会截断或溢出补零前导零填充开启关闭则 001 变 1宽度跳动进制/序列十进制或自定义十进制十六进制下 9 后面是 A重置方式何时回到起始值不重置跨任务连续误设“每页重置”会重复号溢出处理越界行为停止并提示设成循环会导致重号“重置方式”这一项特别值得单说。它有几个常见选项不重置、每页重置、每次打印任务重置、按数据记录重置。做连续流水号时必须选“不重置”我见过有人不小心选了“每页重置”结果一页 10 个标签每张都从 0001 开始用户以为是跳号其实是每页都在重新数。如果一页上有多个流水号对象还要注意“主从关系”。有些软件支持“对象 B 跟随对象 A”A 加 2B 自动同步。这个功能做双联标签一张贴货、一张贴单非常方便但前提是两个对象的位数、补零设置必须完全一致否则 B 会出现位数不匹配的错位。3.3 打印端的设置份数、批次数与预生成模板设置对了还有一半的坑在打印对话框里。打印份数这里要分清两个概念——“每个号打几份”和“整个任务打几份”。做跳号流水号时如果你要 1001 号打 2 张一张贴箱、一张存档正确做法是设“每号份数 2”这样输出是 1001、1001、1003、1003。如果误设成“任务份数 2”输出会变成整批打两遍1001、1003、1005……然后 1001、1003、1005……看起来就像跳号跳疯了。批次拆分如果一次要打几千张建议拆成几批比如每批 500 张。原因有两个一是打印机缓存有限超大任务容易在中间丢数据二是万一中途卡纸损失可控。但拆批的时候必须记录每批的起止号否则第二批重新打开模板计数器可能已经回到起始值直接重号。预生成/预占号部分版本有“打印前预生成序列”的选项会在点打印的瞬间把整批号锁定。这个功能对防跳号很有用代价是中途取消会消耗掉已生成的号。要不要开取决于你的号段是否紧张。号段紧张就别开宁可出问题重来号段宽裕就开着稳定性优先。3.4 校验先小批量试打再上量这一节我单独拎出来因为它是整篇文章里性价比最高的动作。我的固定流程是每次改完流水号参数先打 10 张人工核对三件事。第一件首尾号对不对。第一张是不是 1001第十张是不是 1019步长 2 的情况下。如果首号不对是起始值的问题如果尾号不对是步长或者份数的问题。第二件位数和宽度对不对。拿卡尺量一下数字区域的宽度和模板里设计的宽度比。差超过 0.3mm就要考虑换等宽字体——流水号一定要用等宽字体如 Consolas、等线等等宽族比例字体下 1 比 8 窄号一变宽度就跳视觉上像错位很多“跳号”的投诉其实是字体问题。第三件条码能不能扫。用扫码枪扫一遍第 1 张和第 10 张看解出来的字符串和标签上印的可读文本是否完全一致。这里有个经典陷阱条码对象下方那行可读文本有些软件是独立对象你改了流水号只改了条码文本还是静态的扫出来和看到的不一样。要么开启“条码内容自动生成可读文本”要么两个对象都设成同一个流水号变量。十张试样两三分钟能挡掉后面几小时的返工。4. 跳号出错现场五大高频故障与排查顺序真出了跳号别急着一项项试按顺序查效率最高。我总结的顺序是先看数据源再看模板对象再看打印份数再看驱动设置最后看机械走纸。前面四项都是软件层五分钟能排完机械层最费时间放最后。4.1 排查顺序速查表顺序检查项典型现象快速验证方法1数据源是否混用号段整体偏移断开外部数据源纯内置流水号试打 10 张2流水号对象是否重复同一张上有两个不同的号全选对象看属性面板里几个流水号3每号份数 vs 任务份数整批重复或整批翻倍打 3 张看序列4驱动份数是否叠加实际张数是设置值的整数倍驱动里份数改 1软件里控制5走纸/间距/传感器隔几张空一张或整行错位打 20 张连排看偏移是否累积6条码校验位末位数字“跳变”核对是否 EAN/UPC 类带校验的码制7字体与截断视觉上号变短换等宽字体加宽数字框这张表我建议存下来出问题照着走一遍比凭感觉试快得多。4.2 数据源型跳号Excel 混用最坑这是第一大来源。典型场景是模板里既有从 Excel 导入的字段品名、规格、批次又有内置流水号。问题出在递增依据上——有的软件按“数据记录”递增有的按“打印份数”递增。一旦两者混用就会出现“Excel 有 100 行但我只想打 50 个号结果号跳了 100 次”。还有一种更隐蔽的Excel 首行是标题行品名、规格……软件默认把它当第一条数据导致整体偏移一行。表现是第一个标签的品名是“品名”两个字流水号也跟着错位一格。处理办法很干脆能不用外部数据源驱动流水号就别用。让 Excel 只负责静态字段流水号完全由模板内置计数器控制。如果业务上必须一一对应那就在 Excel 里预先算好号列导入后直接引用该列不要在该列上再叠加流水号递增属性——两个递增叠加号会跳得你怀疑人生。4.3 打印任务型跳号重打、续打、断点续打打印机卡纸、缺纸、碳带用完是最常见的任务中断原因。中断之后接着打这里的分歧就来了软件认为“这一批已经提交过了”计数器已经前进但纸面上只打出了一半。于是接着打时号从断点之后继续前面那一半就成了永久空缺。我的处理原则是中断后不要直接点“继续”而是重新设定起始值从最后一张成功打印的号 步长开始。具体操作是打开流水号属性把起始值改成“断点号 步长”然后打一张试样确认再上量。代价是操作麻烦一点收益是号段连续、可追溯。产线上如果对连续性要求极高比如防伪标、票券类我甚至会建议在中断后整批作废重打虽然浪费纸但账目干净。另外提醒一句打印预览在某些版本里也会消耗流水号的预占值。也就是说你预览了两次、取消了两次真正打印时起始号已经前进了。这个行为不同版本不一样最稳的验证方法就是打 3 张试样看首号。4.4 走纸与机械型跳号看着像软件其实是硬件有一类“跳号”跟软件一点关系没有打 10 张第 4 张和第 7 张是空白或者内容整体上移了半行。原因通常是走纸打滑、传感器没识别到间距标记、或者标签间距设置和实际模切不匹配。判断方法很简单连续打 20 张看偏移量是不是累积的。如果第 1 张正、第 10 张偏 3mm、第 20 张偏 6mm那是间距参数算小了属于参数问题如果偏移是突发的、随机的那是机械打滑或者传感器脏了属于硬件问题。参数问题的算法实测 20 张的总长度 L间距 L ÷ 20 − 标签高度。硬件问题的处理是清洁传感器、检查压纸轮、降低打印速度速度太快热敏纸容易打滑。还有一种是热敏纸质量差局部加热不足导致数字残缺比如 3 打成半个 8扫出来不对。这种情况换纸比调参数管用。4.5 条码校验位与“假跳号”这个坑专坑新手。EAN-13、UPC-A、Code 128 的某些子集带校验位最后一位是根据前面数字算出来的。你明明设了流水号 001、002、003标签上条码的末位却是 8、5、2——看起来完全乱套。其实没乱那位是校验位。判断方法把条码下方的可读文本和实际编码内容对比如果只差最后一位且这一位随前面数字变化那就是校验位属正常。需要警惕的是另一种你以为是流水号其实是号码本身长度变了导致码制切换。Code 128 有 A/B/C 三个子集纯数字串长度不同会自动选择子集某些老旧扫码设备对子集切换支持不好扫出来会缺字符。这种情况下把码制固定成某一子集或者统一用 Code 39能规避。不过 Code 39 密度低位数多的时候标签宽度会吃紧要权衡。5. 实操心得与避坑清单写到这儿把散在各处的经验收一收都是踩过之后才记住的。关于号段规划。别一上来就设起始 1、步长 1。先花五分钟想清楚这批标签用在哪、会不会有第二批、会不会和别的系统撞号。我习惯给每个项目留一段号比如从 100001 开始前 5 位当项目代码后 5 位当流水。这样即使将来扩展到 99999 张位数也不会变不会触发截断。关于备份模板。流水号参数是跟着模板走的不是跟着打印机走的。改一次参数建议另存一份模板文件名带上日期和号段比如标签_PO_20240101_100001起。原因很简单三个月后有人问你“这批标签从多少号开始的”翻文件比翻记忆靠谱。关于等宽字体。这条我重复三遍了因为它值得。所有参与计数变化的文本一律用等宽字体。数字宽度一致位数变化时整块不跳视觉上稳。比例字体在位数从 999 跳到 1000 的瞬间整行会突然变宽配合居中/右对齐会让位置“跳”一下很多人第一反应就是“跳号了”。关于测试数据。试样不要用 0001 到 0010 这种好读的号用 0998 到 1007 这种跨位数边界的号段。因为真正的坑都在位数进位处只测 1 到 10永远测不出问题。关于打印机驱动份数。驱动里和软件里都能设份数两个一叠加就是乘积。设之前先确认驱动里的份数是 1让软件单独控制。这个坑我见过有人打出来张数正好是设置的 4 倍还以为是软件 bug。关于扫码验证。每批打完后抽首、中、尾三张扫码把扫出来的字符串粘贴到记事本里肉眼比对和标签上的可读文本是否逐字符一致。特别要盯住前导零——条码里存的是 000123扫出来变成 123 是正常的扫码枪去零但你的入库系统如果按字符串比对就会对不上。要么系统侧做补零处理要么条码里干脆不补零、靠位数固定。关于终止值。一定要填且一定要小于位数上限。填了终止值打到头软件会停你能第一时间知道号用完了不填软件会一直往上加加到位数上限时突然截断那一刻的号会变得莫名其妙而且往往是在批量任务的最后几百张损失最大。关于多人协作。同一台电脑、同一个模板两个班次轮流用最容易出问题。交接时一定要记当前号或者干脆给每个班次分开模板、分开号段。计数器是本地状态不是云端状态换个电脑打开模板号很可能就回退到起始值了这一点务必确认清楚再下单生产。最后分享个小技巧。做跳号流水号的时候我习惯在标签的边角不影响主体内容的地方加一个极小的隐藏备注文本把“起始值/步长/位数”这三个参数用很小的字号印上去。这是给自己和后来人留的说明书标签贴出去一年后有人拿着它问“这是第几批”看一眼边角就知道规则了。这行字用浅色小字不干扰识读成本几乎为零但救过我很多次。这套流程走下来跳号这个事其实就没什么神秘的了——主动跳号是一个数字填对就行的事被动跳号是一次有顺序的排除法。真正让人头疼的从来不是软件而是“份数到底谁管的”“中断之后号从哪续”这些流程上的模糊地带。把这些定死比换十次软件都管用。
企业数字化 ERP 产品动态
相关推荐
Elasticsearch中文分词优化与IK分词器实战 1. 为什么需要自定义 Elasticsearch 分词器在中文搜索场景中,默认的分词器往往无法满足业务需求。以电商平台为例,当用户搜索"苹果手机"时,系统需要准确识别这是一个完整商品名称,而不是将"苹果"和"手机… · 2026/11/3 22:41:24
Vue.js动态样式绑定实战与优化技巧 1. 动态样式绑定的核心价值在Vue.js开发中,样式管理一直是前端工程师需要面对的重要课题。传统的静态class绑定方式虽然简单直接,但在处理复杂交互逻辑时往往显得力不从心。v-bind指令(通常简写为:)为class绑定带来了革命性的灵活… · 2026/11/3 22:41:24
零基础Linux入门:从计算机基础到man、nano与SELinux 简介:《鸟哥的Linux私房菜-基础篇》第四版以PDF电子书形式呈现,面向具备基本计算机操作能力、希望系统入门Linux的初学者及需要巩固基础的IT技术人员,重点解决计算机组成、操作系统原理与Linux常用工具之间的知识断层。资源包仅含1个PDF文件&… · 2026/11/3 22:41:24
makefsdata与fsdata.c:嵌入式Web静态资源转C数组 1. 先搞清楚 makefsdata 在整条链路里干什么1.1 从"网页到底放哪"这个争论说起做嵌入式 Web 服务的人几乎都遇到过同一个问题:设备上跑了一个 HTTP 服务器,能返回"Hello World",但真正要把一个带样式、带图标、带几张小图… · 2026/11/3 23:23:50
makefsdata 打包网页进固件:fsdata.c 原理与实战 嵌入式 Web 服务器这块,很多人第一次做都会卡在同一个地方:前端页面写好了,浏览器一访问却返回 404,翻遍代码发现 HTTP 服务跑得好好的,问题出在“页面文件根本没进 MCU 里”。某开发者把一个十几 KB 的配置页面往 SPI… · 2026/11/3 23:23:50
基于HTML/CSS/JavaScript的图书爱好者网站开发实践 1. 项目概述:图书爱好者个人网站开发作为一名计算机专业的学生,期末大作业往往是我们展示学习成果的重要机会。这次我选择开发一个以图书爱好为主题的个人网站,主要运用HTML、CSS和JavaScript三大前端技术。这个项目不仅能够满足课程要求&… · 2026/11/3 23:23:50
SAP KO88订单结算与固定资产转换实战指南 1. SAP KO88订单结算处理问题解析在SAP系统中处理内部订单结算时,经常会遇到需要将内部订单金额结转到在建工程(AuC),同时还要完成在建工程转固定资产(FiA)的复杂场景。这种业务场景常见于大型制造业、工程… · 2026/11/3 23:23:50
企业知识库选型:RAG、知识图谱与混合架构的取舍策略 上周陪一家制造企业做知识库方案评审,会议室里争论的焦点特别典型:一方说纯RAG(检索增强生成)最快,一个月就能上线;另一方坚持要上知识图谱,理由是"不然系统就是个高级搜索引擎"。两边… · 2026/11/3 23:23:50
Paperxie:一站式论文写作工具的功能解析与使用技巧 1. 项目概述:一站式论文写作解决方案去年帮学弟改毕业论文时,我看着他同时开着Word、LaTeX、绘图软件和十几个参考文献网页的电脑桌面,突然意识到:为什么没有一个工具能把论文写作的全流程整合在一起?直到发现Paperxie… · 2026/11/3 23:22:50
双极步进电机控制实战: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/2 13:10:28
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/3 6:04:24
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/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战: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/2 13:10:28
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/3 6:04:24
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/3 5:52:46