找回密码
 立即注册
查看: 65|回复: 7

保存数据在EEPROM,读取后有误.

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-06-26 14:03:27
已绑定手机

4

主题

9

回帖

84

积分

注册会员

积分
84
发表于 2025-6-19 16:58:09 | 显示全部楼层 |阅读模式
现有STC8H1K08的EEPROM,大小为4K,分为8个扇区,地址为0000h-0fffh,将const u8 DataFactory[5] = {0xAA, 0xBB, 0x00, 0x00, 0xFF};写入EEPROM,具体代码如下:
u8 DataStore[5]; u8 eepromtmp;const u8 DataFactory[5] = {0xAA, 0xBB, 0x00, 0x00, 0xFF};#define  DataAddres        0x0C00  


        EEPROM_write_n (DataAddres,DataFactory,5);
        EEPROM_read_n (DataAddres,DataStore,5);       
        printf("----- 22222 DataFactory-----\r\n");
        for (i = 0; i < 5; i++)
        {
                        printf(" 0x%04x\t",  DataStore);
        }
        printf("\n");
        eepromtmp = DataStore[1];

        DBG_PRINTF(" DataStore[1] : %d\n ",eepromtmp);

    上面的写入和读取函数来自例程,结果打印的却是
                    ----- 22222 DataFactory-----
                     0xaadc         0xbbdc         0x00dc         0x00dc         0xffdc       
                     DataStore[1] : -17444
而不是BB,请问下如何造成?


米高
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-06-28 13:49:44
已绑定手机

72

主题

2016

回帖

4542

积分

荣誉版主

无情的代码机器

积分
4542
发表于 2025-6-19 21:00:54 | 显示全部楼层
格式化是一个都对不上啊,一个字节打印用%02X,u8 C51用%bu。
https://www.stcaimcu.com/forum.p ... amp;extra=#pid60079
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-06-26 14:03:27
已绑定手机

4

主题

9

回帖

84

积分

注册会员

积分
84
发表于 2025-6-20 12:12:27 | 显示全部楼层
erci*** 发表于 2025-6-19 21:00
格式化是一个都对不上啊,一个字节打印用%02X,u8 C51用%bu。
https://www.stcaimcu.com/forum.php?mod=view ...

我们这款单片机数据保存在Flash中与EEPROM有何区别?可有Flash的读写例程?

点评

有的,在这下载有大量例程: [attachimg]105211[/attachimg]  详情 回复 发表于 2025-6-20 12:14
米高
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-06-28 13:49:44
已绑定手机

72

主题

2016

回帖

4542

积分

荣誉版主

无情的代码机器

积分
4542
发表于 2025-6-20 12:14:32 | 显示全部楼层
mig*** 发表于 2025-6-20 12:12
我们这款单片机数据保存在Flash中与EEPROM有何区别?可有Flash的读写例程?

IAP型号的要自己在ISP软件上设置EEPROM大小,然后IAP操作EEPROM都一样的,注意对应型号的操作范围即可
在这下载有大量例程:
截图202506201214248401.jpg

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-06-26 14:03:27
已绑定手机

4

主题

9

回帖

84

积分

注册会员

积分
84
发表于 2025-6-20 14:07:09 | 显示全部楼层
erci*** 发表于 2025-6-20 12:14
IAP型号的要自己在ISP软件上设置EEPROM大小,然后IAP操作EEPROM都一样的,注意对应型号的操作范围即可
在 ...

我这款是STC8H1K08,下载的例程都是EEPROM的,Flash的请问如何下载?

点评

“利用 ISP/IAP 技术可将内部 Data Flash 当EEPROM” 可以看看20章介绍 [attachimg]105214[/attachimg]  详情 回复 发表于 2025-6-20 14:11
米高
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-06-28 13:49:44
已绑定手机

72

主题

2016

回帖

4542

积分

荣誉版主

无情的代码机器

积分
4542
发表于 2025-6-20 14:11:36 | 显示全部楼层
mig*** 发表于 2025-6-20 14:07
我这款是STC8H1K08,下载的例程都是EEPROM的,Flash的请问如何下载?

“利用 ISP/IAP 技术可将内部 Data Flash 当EEPROM”
可以看看20章介绍
截图202506201411219141.jpg

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-06-26 14:03:27
已绑定手机

4

主题

9

回帖

84

积分

注册会员

积分
84
发表于 2025-6-20 16:17:56 | 显示全部楼层
erci*** 发表于 2025-6-20 14:11
“利用 ISP/IAP 技术可将内部 Data Flash 当EEPROM”
可以看看20章介绍

擦除需要一个扇区,很浪费资源(512个字节),如果只用Flash,就只要10来个字节就好,请问如何对内部Flash的部分字节进行读写(存储后关机再启动,数据不变)?比如,建立数组,

点评

目前应该只有这一种操作flash方法噢。  详情 回复 发表于 2025-6-20 16:48
米高
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:220
  • 最近打卡:2025-06-28 13:49:44
已绑定手机

72

主题

2016

回帖

4542

积分

荣誉版主

无情的代码机器

积分
4542
发表于 2025-6-20 16:48:06 | 显示全部楼层
mig*** 发表于 2025-6-20 16:17
擦除需要一个扇区,很浪费资源(512个字节),如果只用Flash,就只要10来个字节就好,请问如何对内部Flash的部 ...

目前应该只有这一种操作flash方法噢。
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-29 11:53 , Processed in 0.128890 second(s), 94 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表