HRTOS实战示例:24C02 EEPROM掉电保存与4位数码管显示
EEPROM 是 8051 嵌入式开发中非常常见的非易失性存储器件可以用于保存配置参数、计数值、设备状态等数据。本次 HRTOS 基础示例增加24C02 EEPROM 4位数码管显示案例通过 24C02 保存一个计数值并使用 HRTOS 任务完成 EEPROM 数据读取、加1、写回以及数码管显示。这个示例还可以直观体现 EEPROM 的一个重要特点数据掉电后仍然能够保存。一、示例实现的功能程序使用 24C02 的0x00地址保存数据。系统运行后读取 EEPROM 数据 ↓ 数据 1 ↓ 写回 EEPROM ↓ 数码管显示当前数据 ↓ 等待 ↓ 继续下一次显示范围为0000 ~ 0255例如 EEPROM 当前保存50数码管显示0050重新上电后程序再次读取 EEPROM 中的数据之前保存的数据不会因为断电而消失。二、EEPROM读写任务EEPROM 的读写由task_eeprom()独立完成。首先读取 24C02 中保存的数据eeprom_value eeprom_24c02_read(0x00);随后等待一段时间再将数据加 1eeprom_value;然后写回 EEPROMeeprom_24c02_write(0, eeprom_value);最后再次延时然后开始下一轮操作。因此程序会不断对 EEPROM 中保存的数值进行递增。这里使用os_delay()让任务在读写操作之间进行等待也体现了 HRTOS 在外设操作场景中的基本使用方式。三、为什么需要考虑EEPROM写入间隔EEPROM 与普通 RAM 不同。写入 EEPROM 是一个实际的非易失性存储操作因此在应用设计中通常需要考虑写入周期以及写入频率。本示例在 EEPROM 操作之间加入了os_delay(100);避免连续进行过于紧密的写入操作。对于实际项目而言如果 EEPROM 用于保存配置参数或者运行数据还可以进一步根据具体器件特性设计更加完善的写入策略例如减少不必要的重复写入。本示例主要用于展示 24C02 的基本读写流程因此保持了代码结构的简单性。四、数码管显示任务另一个 HRTOS 任务负责显示当前 EEPROM 数据。程序获取当前的eeprom_value然后将数据拆分为四位通过数码管进行显示。例如0 → 0000 1 → 0001 50 → 0050 100 → 0100 255 → 0255对应代码通过drv_seg_display()分别控制四位数码管。这样 EEPROM 中保存的数据变化过程就能够直观地显示出来。五、两个任务进行功能分工整个示例依然采用 HRTOS 的任务化结构HRTOS │ ├── task_eeprom │ ├── 读取24C02 │ ├── 数据1 │ ├── 写入24C02 │ └── 延时 │ └── task_seg_display └── 显示当前数据EEPROM 任务负责数据存储。数码管任务负责数据显示。两个任务分别完成不同功能由 HRTOS 负责统一调度。这种结构也方便后续继续扩展功能。六、断电后数据仍然存在这个示例最直观的实验现象就是掉电保存。例如第一次运行时EEPROM 0000程序读取后加 1EEPROM 0001再次运行EEPROM 0002继续运行0003 0004 0005 ...如果此时关闭开发板电源再重新上电程序不会从0000重新开始而是会读取 24C02 中之前保存的数据继续运行。这也是 EEPROM 与 RAM 最明显的区别之一。七、这个示例可以用于哪些实际场景虽然本例只是一个简单的计数实验但它对应的技术在实际 8051 项目中非常常见。例如保存设备配置参数保存设备地址保存运行模式保存校准参数保存累计运行次数保存设备状态保存掉电需要保留的数据。因此通过这个简单示例可以进一步理解 HRTOS 与非易失性存储器结合使用的基本方式。八、HRTOS基础示例持续完善目前 HRTOS 的基础示例正在持续扩充。这些示例并不是单纯为了展示代码数量而是尽量覆盖 8051 开发中经常使用的基础外设和功能。目前已经可以围绕不同硬件逐步构建GPIO PWM 继电器 数码管 EEPROM 传感器 串口 通信 ...同时结合 HRTOS 的任务 延时 调度 同步 消息 驱动 Shell形成更加完整的实际应用案例。对于开发者而言可以直接从基础示例入手逐步了解 HRTOS 在真实 8051 项目中的使用方式。HRTOS 也会继续对这些基础示例进行维护、整理和实际硬件验证。持续维护持续验证持续完善。

相关新闻

OS3.【Linux】基本指令入门(2)

OS3.【Linux】基本指令入门(2)

目录 1.root用户的家目录 2.非root用户的家目录 2.简单介绍一些基本指令 1.继续介绍cd 1.cd ~ 2.cd - 2.mkdir 1.mkdir 目录 创建一串目录 传统方法 ​编辑 补:查看树状结构的方法:tree指令 tree . 使用mkdir的-p选项来创建一串目录 3.touch 4.rmdir 5.rm r…

2026/9/30 16:53:43 阅读更多 →
HarmonyOS 7 + Form Kit + UIAbility 实战:运营看板卡片的刷新策略、状态同步与点击回流【鸿蒙心迹】

HarmonyOS 7 + Form Kit + UIAbility 实战:运营看板卡片的刷新策略、状态同步与点击回流【鸿蒙心迹】

这一篇我想聊的是看起来很轻、做起来却很容易失衡的一类功能:桌面卡片。很多人第一次做运营看板卡片,最先关注的是“怎么把一块卡片显示出来”。但真正把它做成一个能用、可信、可跳转、可同步的业务入口以后,你会发现难点根本不在“显示”&a…

2026/9/30 16:53:43 阅读更多 →
第314篇_域名交易行情爬虫

第314篇_域名交易行情爬虫

【Python爬虫实战】第314篇:域名交易行情爬虫:成交价格分布与后缀分析——实战项目 所属专栏:【Python爬虫实战】从零到企业级爬虫工程师(CSDN 付费专栏) 本篇篇目:第 314 篇(垂直行业爬虫 域名行情专题) 难度等级:中级,有 requests 基础即可上手 阅读时长:约 25 分…

2026/10/1 18:57:47 阅读更多 →

最新新闻

β-环糊精组合修饰全解析:PEG链连接FITC、Biotin、DBCO的设计与应用

β-环糊精组合修饰全解析:PEG链连接FITC、Biotin、DBCO的设计与应用

拿到“PEG-荧光素修饰β-环糊精,β-CD-PEG-FITC,β-CD-PEG-Biotin,DBCO-PEG修饰β-环糊精,β-CD-DBCO-PEG”这一串产品名时,多数人的第一反应是“这到底是个东西还是好几个东西”。其实这是一类典型的组合修饰型环糊精…

2026/10/1 18:57:55 阅读更多 →
C++工厂方法模式实战:从日志系统到调试排查全解

C++工厂方法模式实战:从日志系统到调试排查全解

聊到C里的创建型设计模式,工厂方法模式(Factory Method)是我在工程实践中用得最频繁,也最容易被低估的一个。早些年我在面试候选人的时候,几乎每次都会问到一个场景:一段代码里有七八个if分支去创建不同类型…

2026/10/1 18:57:55 阅读更多 →
Madeira 整合 Wine、FEX-Emu 与 DXMT:ARM 平台运行 x86-64 Windows 程序实战

Madeira 整合 Wine、FEX-Emu 与 DXMT:ARM 平台运行 x86-64 Windows 程序实战

1. 从“Madeira”这个名字说起:它到底想解决什么问题 第一次看到“Madeira”这个项目名,很多人会以为是某个葡萄酒产区的工具,或者干脆是个地名相关的应用。但结合热搜词里的 Wine、FEX-Emu、DXMT、x86-64 这几个关键词,方向就清晰…

2026/10/1 18:57:55 阅读更多 →
声音克隆 + 文本转语音:narrator-ai-cli-skill 独立任务实战,AI 解说大师配音两大技能

声音克隆 + 文本转语音:narrator-ai-cli-skill 独立任务实战,AI 解说大师配音两大技能

声音克隆 文本转语音:narrator-ai-cli-skill 独立任务实战,AI 解说大师配音两大技能 【免费下载链接】narrator-ai-cli-skill AI 解说大师 — Agent skill;封装 narrator-ai-cli 供 Claude/Codex 等工具调用 项目地址: https://gitcode.co…

2026/10/1 18:57:55 阅读更多 →
Windows英文系统中文显示异常的注册表级修复方案

Windows英文系统中文显示异常的注册表级修复方案

1. 问题本质与真实场景还原这个问题我从2015年就开始反复处理,不是什么新毛病,但每次Windows大版本更新(比如1809、20H2、22H2)它就准时回来“打卡”。核心现象非常典型:你把系统语言从中文改成英文(比如为…

2026/10/1 18:57:55 阅读更多 →
C++桥接模式四种实现:从指针到std::variant的工程实践

C++桥接模式四种实现:从指针到std::variant的工程实践

从"类和类纠缠"到"接口和实现各过各的"做C开发这么多年,我一直觉得设计模式这事儿最怕"背名字"。桥接模式(Bridge Pattern)就是个典型——很多人能把定义背出来:"将抽象部分与实现部分分离&am…

2026/10/1 18:56:55 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →