LabVIEW异或和校验实现与串口调试避坑指南
简介针对LabVIEW环境下的ASCII异或和校验需求这份资源提供了从算法原理到工程实现的完整方案。压缩包内包含三个文件一个可直接运行的VI示例、一个封装好的DLL动态库以及对应的C头文件整体仅41KB兼顾教学参考与实际调用场景。目前已有2608人学习下载。VI代码遍历输入字符串逐字提取ASCII码并执行异或累加最终输出校验值整个流程使用循环结构和字符串至字节数组转换逻辑清晰非常适合作为LabVIEW数据校验和循环编程的入门范例。DLL与头文件封装了校验函数接口简洁可被C/C、Python等外部程序调用便于集成到既有通信或存储系统中避免重复开发。对于从事串口通信、数据帧校验或需要验证传输完整性的工程师而言这是一份可直接上手的小型工具包。1. 异或和校验在 LabVIEW 里功能简单却常栽在字符串转换上某天你接到设备联调任务仪表只回十几帧数据帧尾校验字节却总是对不上。翻了一圈代码发现是字符串控件开着十六进制显示把显示文本里的空格当成了真实数据。这类问题在 LabVIEW 异或和校验里几乎人人遇到。异或和校验XOR checksum是串口 ASCII 协议里出场率极高的轻量校验方式把有效数据区逐字节异或得到一个字节拼在帧尾接收端同样算一遍做比对。实现门槛不高但 LabVIEW 里字符串、字节数组和显示格式三者一旦混用就是调试黑洞。这篇笔记适合正在写串口仪表协议、自定义帧格式的开发者把原理、VI 实现和踩坑一次串起来。2. 异或校验的原理与选型单个校验字节的能力边界在哪2.1 异或的本质不进位的按位加异或运算的真值表只有四种情况两个二进制位不同则为 1、相同则为 0本质上是不带进位的加法。它有四个性质在写校验时特别有用交换律和结合律让计算顺序不影响结果任意字节与自己异或得到 0任意字节与 0 异或得到本身一个数异或同一个数两次会回到原值。最后两条决定了校验初值取 0 而不是取 0xFF。我见过有人把初值写成 255理由是想要一个非零的底子结果数据里只要出现 0x00 字节校验值就会被拉出一个看起来毫无规律的数两端算法稍微不一致就对不上。一个很适合手算的 ASCII 例子是字符串 123。三个字节分别是 0x31、0x32、0x33异或过程是 0x31 ^ 0x32 得到 0x03再 ^ 0x33 得到 0x30也就是字符 0。三个可见字符异或出来还是一个可见字符这类巧合让很多 ASCII 协议里的校验区显得特别自然也容易骗过眼睛——看着像明文实际是异或结果。这就是为什么我强调别用肉眼判断校验字节对不对必须按位算一遍。先给出一个标准的异或和计算过程。下面的 Python 片段不是项目源码而是用来精确描述 LabVIEW 面板上那个 For 循环的等效逻辑def xor_checksum(data: bytes, start: int 0, end: int | None None) - int: end len(data) if end is None else end result 0 for i in range(start, end): result ^ data[i] return result这段代码里最关键的是result 0和result ^ data[i]。result对应 LabVIEW 移位寄存器的初始值逐字节异或对应循环体内的异或函数。参数start和end用来表达校验区间对应到 LabVIEW 就是循环前先做一次数组子集截取。新手容易漏掉的是异或结果永远是一个 0 到 255 的整数哪怕数组里塞了几千个字节也一样所以协议里分配一个字节给校验位是完全够用的。接收端还有一种等价写法把数据区连同收到的校验字节一起异或最终结果必然是 0。这个特性来自异或的自反性数据区算出来的校验值是 X再把 X 异或回去必然归零。调试时只要看整帧异或是否等于 0就能瞬间分开算法错和传输错。# 接收端包含校验字节在内的整帧异或结果应为 0 total 0 for b in frame: total ^ b if total ! 0: print(校验失败)我在协议调试时最常用这招在接收路径上加一个探针看到 total 不是 0再逐个字节找比打印出来人工算省事得多。注意这里 frame 里的每个元素必须是无符号字节如果某个环节把数据转成了有符号数-1 和 0xFF 会被当成两个数结果必错。2.2 异或 vs 求和 vs CRC选型要看清检错边界不少刚到 LabVIEW 的开发者会混淆三种最基础的校验异或、8 位求和、CRC。三者实现成本完全不同检错能力也差得很远。我一般按下面的表来做选型校验方式实现成本单个 bit 翻转时典型场景异或校验一个循环加一个异或函数能发现单字节任意一位翻转短帧、调试工具、自定义协议8 位求和一个循环加加法取低 8 位能发现单 bit 翻转但进位掩盖部分错误简单记录、视觉传感器指令CRC-8需要查表或移位寄存器能发现多 bit 错误检错更强长帧、可靠性要求高的链路异或校验的短板在于如果两个字节的同一个 bit 同时翻转这一位的异或结果不变校验就失效了。更极端的情况是偶数个字节在同一位置都翻转校验值完全无感知。所以它只适合帧长较短、误码率不高、以检测随机单 bit 错误为主要目的的场景。几十字节以内的仪表应答帧异或足够一旦帧里塞几百个字节或者走电力线载波这类干扰严重的介质我会换成 CRC-8别为省几行代码让现场数据背锅。求和校验和异或有一个容易被忽略的差异8 位求和把进位丢掉异或则是根本不产生进位。两者对数据里连续多个字节出现同向漂移这类错误的反应不一样实际项目里往往要到跑大批量随机数据时才显形。所以我建议在协议设计阶段就把算法定死并明确校验区间从哪个字节开始、到哪个字节结束、初值是否参与计算。协议文档里这一段写得越清楚后期同事来维护时越不会踩到范围不一致的雷。异或只针对字节位操作不管字符编码所以先转成 U8 数组是绝对的第一动作这一步错了后面全白做。3. 字符串变字节数组串口帧进入校验前必须理清的一层3.1 String To Byte Array 才是入口不是按字符拼接LabVIEW 的串口读取函数返回的是字符串但校验算法处理的对象是字节。很多新手的第一步就错了把字符串用 String Subset 一段段截出来再转成数字去算。这种方式一旦帧里混入非可见字符就会崩因为截取操作按字符位置工作而字符串内部可能已经包含多字节编码内容。正确做法是直接把整个字符串转换成 U8 数组后面所有操作都在数组上进行。函数路径是编程 → 字符串 → 字符串/数组/路径转换里的String To Byte Array它把输入字符串的每个字符按 ASCII 码解析成 0 到 255 的无符号字节一个字符对应一个字节输出数组长度与字符串长度一致。等效逻辑是data_bytes list(bAB) # [65, 66]这里 A 对应 65B 对应 66。连线板上看到输入是字符串、输出是一维 U8 数组、中间没有其他转换函数那就对了。要注意这个转换函数完全忽略字符串控件的显示模式无论控件显示成正常字符还是十六进制格式转换函数拿到的都是控件内部保存的原始字节。也就是说显示成 41 42 的字符串控件里存的是两个字节 0x41、0x42转换后数组是 [0x41, 0x42]而不是 [0x34, 0x31, 0x20, 0x34, 0x32]。真正容易混的是如果输入框里写的是文本 41 42你要的是字节 0x41 和 0x42就不能直接走 String To Byte Array因为那样会得到 4、1、 、4、2 五个字符的 ASCII 码。我一般会先解析十六进制文本再构造数组。这个环节的判别标准很简单输入内容是给人看的协议描述还是给机器传的原始帧两者混用的代码基本都会在校验对不上时变成黑匣子。3.2 十六进制显示模式与真实字节内容视图不参与计算LabVIEW 前面板的字符串控件默认按可见字符显示帧里出现回车或换行时控件里可能什么都看不见。很多人习惯右键勾选十六进制显示让每个字节以两位十六进制数字加空格展示比如 41 42 0D。这个显示模式能看清每一帧的原始内容但它只是视图不是数据本身。问题在于这个视图太像协议文本。我见过有人把显示框里的 41 42 0D 手动复制回输入框再拿 String To Byte Array 去转结果得到的是每个字符的 ASCII 码等于把同样的数据重新编码了一遍校验当然对不上。等价的错误逻辑如下# 如果误把显示文本 41 42 0D 当作数据 wrong_bytes b41 42 0D # 实际字节是 0x34 0x31 0x20 0x34 0x32 0x20 0x30 0x44所以在排查串口问题时我的习惯是把显示控件和数据流完全分开显示控件只服务人的眼睛算法连线里永远使用真实字符串和真实数组。需要打印一份可读的十六进制报文用于核对时用 Byte Array To Hex String 或者 Format Into String 拼一个新字符串那属于人类可读的副本和原始数据不再有字节级等价关系。调试时把数据和数据的人类可读形式分成两条链路能少掉一半莫名其妙的校验问题。3.3 非可见字符与 \x 显示副作用的处理遇到包含回车、换行、0x00 的帧时控件会显示形如 \x0D\x0A 的转义序列这是 LabVIEW 的反斜杠代码显示模式。它同样只是视图实际数据是 0x0D 和 0x0A 两个字节。如果你把一个显示成 \x41 的字符串再写入串口写出去的是字节 0x41如果你把这个字符串喂给 String To Byte Array得到的还是 0x41。到这里很多人就开始绕不清了。问题经常发生在帧输入阶段协议文档给你的是 AA 01 7F你需要把这个文本转换成真实字节。最稳妥的办法是直接放一个 U8 数组常量逐字节填 0xAA、0x01、0x7F完全不经过字符串。如果输入框实在要用字符串做一个十六进制文本转字节数组的子 VI每两个字符解析一个字节同时处理空格、逗号分隔符。我通常会加一个字符串长度校验过滤掉分隔符后剩余字符数必须是偶数否则解析结果直接报错。这个防护看起来多余实际能挡住大量因为复制报文少了尾部一个字符导致的校验失败。做完这一步帧数据才干干净净地进入异或循环不会被控件显示、字符编码这些 LabVIEW 特有的概念污染。4. 从循环到完整 VI异或校验实现的三步走与参数细节4.1 用 For 循环 移位寄存器做逐字节异或核心 VI 的结构很简单数组输入接入 For 循环的自动索引隧道循环体内放一个异或函数一个移位寄存器保存中间结果循环结束后把结果从右侧隧道输出。等效逻辑如下result 0 for b in data_bytes: result ^ b checksum result移位寄存器的初始值必须从左侧输入默认是 0。这个 0 不是随便填的它依赖异或的自反性任何数与 0 异或还是它本身因此初始值不会改变第一个字节。如果初始值改成 0xFF相当于整个数据区前面先异或了一个 0xFF接收端不用同样初值结果必偏。更隐蔽的问题是当输入数组为空时For 循环执行 0 次移位寄存器会把初始值直接从右侧输出。很多协议里空帧的校验结果不是 0这个坑展开放在第 5 章。把这个逻辑封装成子 VI 时建议输入端命名为Byte Array类型 U8 一维数组输出命名为Checksum类型 U8 标量。封装后可以在任何协议解析处复用比每次重画循环清爽得多。子 VI 图标边上我习惯加一个说明文字校验区间必须由调用方先截好。这样调用者就不会顺手把帧头也算进去等到联调时才发现两端范围差了一位。4.2 格式化输出为什么 %02x 比 Number To Hexadecimal String 稳算法算出来的校验值是一个 0 到 255 的整数拼帧时通常要转成两个十六进制字符比如 0x0A 变成 0A 或 0a大小写取决于协议约定。这一步的坑很典型Number To Hexadecimal String 函数默认输出不带前导零0x0A 会变成 A0x01 会变成 1。如果协议固定两位拼出来的帧就少一位接收方解析会直接错位。我一般直接用 Format Into String格式字符串写%02x意思是十六进制、最小宽度 2、不足补 0、小写输出。协议要求大写时把 x 换成 X。result 0x0A # 期望输出 0A hex_str f{result:02X} # 正确 bad_str f{result:X} # 错误输出 A参数说明02是宽度约束0是填充字符X决定大写十六进制。在 Format Into String 里占位符%02X效果相同。要注意的是不要在校验字节后面多拼一个空格或换行除非协议帧结构里明确写了分隔符。ASCII 型协议对校验字节后面直接跟帧尾很敏感多出来的空格会被接收端当成校验字节的一部分又是半小时的排查时间。4.3 变长数据区与校验范围的确定串口帧常见的结构是帧头 命令 数据区 校验 帧尾。数据区长度可能不定校验范围通常是从帧头之后到校验前一字节也就是命令和数据区都参与运算。实现时不要对整帧做循环最好先用 Array Subset 截出有效区再进 4.1 的子 VI。frame b\xAA\x01\x02\x03\x04\x05\x0D\x0A # 约定帧头 0xAA 不参与校验帧尾 0x0D 0x0A 不参与校验 payload frame[1:6] # 0x01..0x05 checksum xor_checksum(payload)参数说明frame[1:6]对应 LabVIEW 的 Array Subset 函数两个参数分别是起始索引和长度。这里的起始索引 1 跳过了帧头 0xAA下界 6 表示取到帧尾前最后一位切出来的 5 个字节是真正参与校验的区域。协议两端只要对同一份区间定义达成一致用什么方式截取并不重要。我习惯在子 VI 的文档里写一句排除帧头帧尾但包含命令字节后续维护者不用翻协议文档就能对齐。对于带长度字段的帧比如第 2 个字节是数据区长度我一般先读出长度再用它计算 Array Subset 的长度参数。这种长度驱动截取的方式比硬编码索引更稳也方便处理超长应答。还有一个细节校验字节本身不参与校验。这是几乎所有协议的基础约定但如果有人图省事把整帧字符串直接丢进循环校验字节也会被算进去接收端再算整帧时就会得到一个非零值。所以循环的终点永远是校验字节前一个字节可以用数组总长度减 1 表示。5. 避坑与排查异或校验最常见的五类翻车现场5.1 校验结果和设备端不一致先对齐校验区间现象上位机算出的异或值跟设备回传的校验字节偶尔差 1有时差 0xFF。原因校验范围没统一。比如把帧头 0xAA 算了进去或者把帧尾的 \r\n 也算进去了。两端用的都是异或算法但一个区间包含帧头一个不包含算出来必然不稳定。还有一种情况是设备把长度字节当成有符号数参与运算导致高位字节被当成负数。解决抓一帧完整报文把每个字节的位置列成一张表标出帧头、命令、长度、数据、校验、帧尾然后用协议文档里明确划定的区间重算一次。我一般把这个区间做成子 VI 的输入参数而不是写死在循环里这样两端代码引用同一份定义从根上消除剪刀差。5.2 显示文本被当真数据复制粘贴害死人现象字符串控件显示为 41 42 0D把这几个字复制回输入框再转换校验结果完全错乱。原因复制的是视图文本不是控件内部的原始字节。上次的显示内容跟着鼠标进了剪贴板再进输入框时已经变成文本字符串字符 4、1 的 ASCII 码被当成数据参与异或结果自然是错的。解决数据链路永远只走 String To Byte Array显示控件仅供观察。需要保存报文日志时用专门函数把数组转换成可阅读的十六进制字符串日志文件里留的也是这个副本不要拿它回灌算法。我在调试面板上特意把原始字节和十六进制文本放在两个控件里颜色区分提醒自己哪个才是真数据。5.3 前导零丢失导致帧长错误现象校验值 0x0A 拼出来是 A帧长度少一个字符设备解析器报长度错误。原因Number To Hexadecimal String 默认不补零。0x0A 和 0x01 这类小于 0x10 的值特别容易触发协议要求校验区固定两位这里却输出了一个字符。解决改用 Format Into String格式写成%02X或者输出后判断字符串长度不足两位在前面补 0。我选择统一用%02X不给自己留手工补零的机会。拼帧完成后还可以加一个校验格式化后的校验字符串长度必须等于 2否则直接报错这能挡住极少数 0x00 被格式化成 0 的情况。5.4 空数据帧返回 0 不是数学规律现象帧里只有帧头帧尾、没有数据区程序算出校验值 0而设备手册写的是 0xFF。原因空数组进入 For 循环后循环体不执行移位寄存器把初值原样输出。所以任何初值都会被当成结果这是 LabVIEW 的执行语义不是异或运算本身的数学特性。我见过有人在论坛里吵空数组异或到底该不该是 0答案完全取决于你用的初值和协议的约定。解决算法子 VI 入口加一个长度判断空数组时按协议规定的默认值返回而不是硬走循环。更通用的做法是把初值作为子 VI 的一个输入参数默认为 0协议特殊时由调用方传入。这样空帧行为完全由参数控制不会因为循环不执行而变成未定义的黑盒。5.5 中文或高位字节引发的编码错乱现象帧里出现 0x80 以上字节或不小心把中文控件里的字符串送入校验结果和设备端对不上。原因LabVIEW 字符串按本机代码页解释非 ASCII 内容一个中文字符会被编码成多个字节。比如测字在 GBK 编码下是两个字节在 UTF-8 下是三个字节同样的字符两端只要代码页不一致字节序列就完全不同。ASCII 协议校验范围内出现非 ASCII 字符本身就是协议设计问题。解决与设备交互的发送数据一律用 U8 数组常量或合法的 ASCII 字符串关键路径上不放中文文本接收数据后立刻转成 U8 数组后续逻辑不再回到字符串。如果协议确实需要传输 0x80 以上字节就直接用数组操作别用字符串控件中转。这个教训来自一次串口温度采集项目上位机显示中文设备名发送时带进去了两个中文字节接收端怎么算都差一个字节。6. 进阶用测试向量把校验 VI 的回归风险一次锁死校验算法写完之后最怕的不是第一次跑不对而是改了一行之后引入新问题还不自知。我给这类子 VI 的常规做法是建一个测试前面板把一组已知数据、已知校验值作为测试向量批量跑一遍。下面这组向量覆盖了空帧、单字节、多字节、异或归零、高位值五个边界cases [ (b, 0x00), (bA, 0x41), (bAB, 0x03), (b\x01\x02\x03, 0x00), (b\xAA\x55, 0xFF), ] for data, expected in cases: got xor_checksum(data) assert got expected, f{data}: {got:#x} ! {expected:#x} print(all pass)逐条拆一下空数组对应初值 0注意这里用的是我自己的实现约定bA的 0x41 是单字节的平凡情况bAB是 0x41 ^ 0x42 0x03验证多字节累积b\x01\x02\x03结果是 0验证异或自反性b\xAA\x55是 0xAA ^ 0x55 0xFF覆盖高位字节和非对称位形。这五组向量过了基本能确认算法没写错。在 LabVIEW 里对应实现是前面板放一个二维常量数组每一行是一组输入字节串 期望校验值循环里调用被封装的子 VI再用不等于函数亮红灯。我还会顺手加一列注释字段把每个用例的协议含义写进去方便后来人理解为什么要有这条向量。每次修改子 VI 后先跑一遍这个面板绿灯全亮再进项目比手工验证快得多。另外一个值得养成的习惯把接收端整帧异或应为 0做成自检流程的一部分。设备上电后发一条固定测试帧接收端算整帧异或并回传上位机收到 0 就说明两端算法完全对齐。这套自检跑通了后续协议变更时也不会被到底是算法变了还是设备没回卡住。从那以后我每写完一个串口协议都会强制走一遍抓一帧真实报文手工算出校验值与设备回传的校验字节比对确认一致后再封版。配上这组测试向量至少替我挡下了三四次现场返工。校验算法里没有玄学只有初值、范围和格式三个词。完整 VI 工程和测试面板我一起放在资源包里下载后先跑一遍向量再接到自己的协议上希望能帮后续的联调省点时间。本文还有配套的精品资源点击获取

相关新闻

通达信公式破解器V2012末日版:反汇编与伪代码还原实战

通达信公式破解器V2012末日版:反汇编与伪代码还原实战

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

2026/10/14 1:22:07 阅读更多 →
半小时漫画经济学2:用漫画讲透金融危机传导链条

半小时漫画经济学2:用漫画讲透金融危机传导链条

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

2026/10/14 1:21:07 阅读更多 →
SD NAND与eMMC选型指南:小容量存储的工程实践与决策逻辑

SD NAND与eMMC选型指南:小容量存储的工程实践与决策逻辑

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

2026/10/14 1:21:07 阅读更多 →

最新新闻

虚拟存储与页面置换算法:缺页中断、地址变换及EAT计算全解析

虚拟存储与页面置换算法:缺页中断、地址变换及EAT计算全解析

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

2026/10/14 2:03:18 阅读更多 →
微信小程序电影购票源码解析:云开发锁座与支付链路实战

微信小程序电影购票源码解析:云开发锁座与支付链路实战

简介:一款基于微信小程序的电影购票完整源码包,面向有小程序基础、想深入掌握电商与生活服务类项目开发的读者。源码覆盖影院列表、电影排期、在线选座、订单支付等真实购票链路,并额外附带外卖模块示例,便于扩展食品饮料售卖场景…

2026/10/14 2:03:18 阅读更多 →
Agent Skill 上线前怎么验收终裁:三层评估与能用/不能用分层清单

Agent Skill 上线前怎么验收终裁:三层评估与能用/不能用分层清单

千笔-AIWritePaper https://www.aiwritepaper.com 把一段「科研写作助手」打成 Agent Skill 很容易:写好触发词、挂上工具、演示一次通顺输出。上线前真正要终裁的是三件事:该不该在这句话触发、产出能不能核验、会不会顺手读密钥或被工具描述投毒。缺任…

2026/10/14 2:03:18 阅读更多 →
AI 还是 SI?我们要的是能管住的帮手,不是管不住的神

AI 还是 SI?我们要的是能管住的帮手,不是管不住的神

2026 年 9 月 29 日,特朗普签下一份行政令,标题叫"开启超级智能时代"。它的核心内容只有一句话:从此以后,美国联邦政府的官方文件、网站和公开声明里,不再用"人工智能"(Artificial Int…

2026/10/14 2:03:18 阅读更多 →
REA AI 逆向工程:没有源码,怎样查清软件的一个功能?

REA AI 逆向工程:没有源码,怎样查清软件的一个功能?

REA 可以让 AI 调用逆向分析工具,帮助开发者在没有原始源码的情况下,检查软件并追踪某个功能的实现。它的价值在于:把“这段解释听起来合理”,推进到“这段解释对应哪些代码和观察”。 假设你正在研究一个桌面笔记应用。输入关键词…

2026/10/14 2:03:18 阅读更多 →
信创招标要求写在哪一节_96万的燃气项目

信创招标要求写在哪一节_96万的燃气项目

10 月 12 日,焦作市公共资源交易中心公示了一个城市燃气安全监测服务项目的中标结果。金额不大——96 万元,中标方是中国移动通信集团河南有限公司焦作分公司,评审总得分 93.92。项目内容是对市区 150 处燃气领域相邻空间节点建设全覆盖、全天…

2026/10/14 2:02:18 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →