Flash擦除后数据为什么会变NaN
一句话: Flash 擦除后全是 0xFF当 float 读出来是 NaN。NaN 转整型行为未定义——可能是 0也可能是满量程。如果这个值直接写 DAC 控制电流或电压器件可能在几秒内烧毁。适合谁读用 Flash 存配置参数、模拟 EEPROM 的嵌入式开发者。0xFF 是怎么变成 NaN 的Flash 擦除后每位都是 1。四个字节连起来是0xFFFFFFFF。如果代码里把这块 Flash 当成float来读float fVal *(float*)flash_data; // 0xFFFFFFFF → NaNIEEE 754 标准里0xFFFFFFFF正好落在 NaN 的编码范围内。读出来不是 0不是很大的数是不存在的东西。NaN 的意思是 Not a Number——它确实不是任何数字。转整型的灾难如果接下来把 NaN 转成整型写 DACuint16_t dacCode (uint16_t)(fVal * SCALE); // NaN * anything ?NaN 参与的运算结果还是 NaN。NaN 强转整型的行为在 C 标准里是未定义的。ARMCC 可能给 0GCC 可能给一个很大的数同一编译器换优化等级结果都可能不一样。如果是 0——万幸DAC 输出 0安全。如果是满量程 4095——DAC 输出满量程电流器件可能几秒烧毁。测十次十次都是 0第十一次换个优化等级就炸。这不是 Bug是未定义行为。不止 FlashNaN 陷阱不限于 Flash。任何数据还没初始化就被读的场景都可能触发场景怎么产生 NaN后果Flash 擦除后未写0xFFFFFFFF → NaN随机 DAC 值结构体未初始化就读取栈上残留值随机配置参数通信超时没收到数据缓冲区旧值过期的命令参数传感器断线ADC 读到浮空值虚假的测量值本质上都是同一个问题把不确定的值当成有效值用了。怎么防1. Flash 预写安全默认值上板第一步往所有配置区写最小安全值。就算意外读取输出也在阈值以下。2. 读出来先判有效性float fVal ReadFlashFloat(addr); if (isnan(fVal) || isinf(fVal)) { fVal SAFE_DEFAULT; // 读坏了用默认值 }isnan()和isinf()是math.h标准函数一行的事。3. 任何从 Flash 读出的值先做范围检查if (dacCode MIN_VALID || dacCode MAX_VALID) { dacCode SAFE_DEFAULT; }三条规则五秒写完。比烧一颗器件便宜。有用的话点个收藏下次调试直接用。有问题欢迎评论区交流看到了都会回。

相关新闻

Unity Animator参数实战:Bool、Trigger、Float核心用法与游戏案例解析

Unity Animator参数实战:Bool、Trigger、Float核心用法与游戏案例解析

1. 项目概述:从“背参数”到“玩转参数”的思维跃迁如果你在Unity开发中,尤其是涉及到角色动画、UI交互或者任何需要状态切换的地方,还在对着Animator Controller里那些Bool、Trigger、Float参数列表死记硬背,那说明你可能还没真正…

2026/7/23 21:31:23 阅读更多 →
手画图形自动修正HTML

手画图形自动修正HTML

仅在于其形式转载商用利用AI模型识别您绘制的形状&#xff0c;并将其修正为标准的几何图形。html<!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wid…

2026/7/22 14:01:09 阅读更多 →
结点电压法保姆级教程

结点电压法保姆级教程

一句话: 结点电压法用更少的方程、更统一的套路直接求各点电位。不堆公式推导——核心模板就一句话&#xff0c;加上四步操作&#xff0c;复杂电路变成填空题。适合谁读&#xff1a;被支路电流法列方程列到头晕的电路初学者。万能公式 结点电压法的本质是基尔霍夫电流定律&…

2026/7/22 14:01:08 阅读更多 →

最新新闻

精密零件CNC加工选厂指南:三坐标检测是必备能力还是可选服务?

精密零件CNC加工选厂指南:三坐标检测是必备能力还是可选服务?

在精密零件CNC加工领域&#xff0c;很多采购在筛选供应商时&#xff0c;把三坐标检测当作"锦上添花"的加分项&#xff0c;觉得有更好&#xff0c;没有也能接受。但实际经验告诉我们&#xff1a;没有检测能力做支撑的精密加工&#xff0c;本质上是在"凭感觉出货&…

2026/7/23 21:32:58 阅读更多 →
muke网-2026年程序员AI编程绿皮书

muke网-2026年程序员AI编程绿皮书

下载课&#xff1a;weiranit.fun/18174/ AI 编程实战绿皮书&#xff5c;程序员用好 AI 工具的完整指南 序幕&#xff1a;工具已就位&#xff0c;差距在认知 2026年&#xff0c;几乎没有程序员还未接触过AI编程工具。从ChatGPT到Cursor&#xff0c;从Copilot到Claude&#xff0c…

2026/7/23 21:32:58 阅读更多 →
AI智能体(Agent)开发实战:工业级项目案例驱动课

AI智能体(Agent)开发实战:工业级项目案例驱动课

下载课&#xff1a;weiranit.fun/18125/ AI 智能体开发实战&#xff1a;工业级项目案例驱动&#xff0c;掌握可商用的工程落地能力 别再沉迷于给聊天机器人换皮肤、改语气了。AI 智能体真正的战场&#xff0c;不在 Demo 展示厅&#xff0c;而在炼化产线的控制室里、工厂的拆单排…

2026/7/23 21:32:58 阅读更多 →
易敏人群调理消费潮兴起 蓝帽认证牛初乳选品标准成关注焦点

易敏人群调理消费潮兴起 蓝帽认证牛初乳选品标准成关注焦点

近期国内免疫调节类营养补充市场需求持续攀升&#xff0c;针对消费者普遍热议的“调理过敏体质选普通牛初乳还是蓝帽认证产品”的核心疑问&#xff0c;监管规则与行业实测数据共同给出了可落地的选购参考。 近年来我国易敏体质人群规模持续扩大&#xff0c;公开健康统计数据显示…

2026/7/23 21:32:58 阅读更多 →
敏感数据与云端Agent的边界战争:我的4级隐私矩阵与本地沙箱实践

敏感数据与云端Agent的边界战争:我的4级隐私矩阵与本地沙箱实践

当财务周报被误传云端后&#xff1a;事故复盘与系统改进 上周发生的财务数据泄露事件给我们敲响了警钟。当时使用的云端自动化Agent在整理季度报表时&#xff0c;由于权限配置失误&#xff0c;将包含员工薪资明细的Excel文件上传到了公开存储桶。这一事件暴露了当前云端工作流…

2026/7/23 21:32:58 阅读更多 →
Windows本地 AI 智能体 OpenClaw 搭建教程,零基础办公自动化落地流程

Windows本地 AI 智能体 OpenClaw 搭建教程,零基础办公自动化落地流程

&#x1f4cc; 一、工具核心优势盘点 数据本地存储&#xff0c;安全系数高所有操作日志、文档资料均保存在本机&#xff0c;不会上传至云端&#xff0c;能够有效保护企业文件与个人隐私&#xff0c;规避数据泄露风险。 上手简单&#xff0c;零编程门槛采用全图形化可视化界面&…

2026/7/23 21:31:58 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;从单点好评到指数级传播&#xff1a;AI副业主理人必须掌握的4层口碑渗透模型&#xff08;含ROI测算表&#xff09; 当AI副业主理人不再仅满足于单次服务交付&#xff0c;而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;AI写作开头钩子设计&#xff1a;为什么你的AI文案完读率不足18%&#xff1f;——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后&#xff0c;我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南&#xff1a;免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻