找回密码
 立即注册
查看: 573|回复: 6

关于STC8G1K08-8Pin EEPROM的一些疑问

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:431
  • 最近打卡:2025-05-01 08:15:51

8

主题

75

回帖

211

积分

中级会员

积分
211
发表于 2024-5-9 13:52:01 | 显示全部楼层 |阅读模式
遇到的问题大致是这样的,在0X0000地址写入数据,发现0x0100,0x0200的数据会同步被0X0000的数据替换掉不知道是什么原因,希望大佬们帮忙解答一下。
改任意一个数据其余的会跟着变,0X0300及以上的还没测试。
void flash_WriteByte(unsigned int Addr,unsigned int Dat)//flash写
{
        IapProgram(Addr,Dat/256);
        IapProgram(Addr+1,Dat%256);
}

unsigned  int flash_ReadByte(unsigned int Addr)//读指定位置参数
{
   return IapRead(Addr)*256+IapRead(Addr+1);//返回数据
}


截图202405091351045663.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:431
  • 最近打卡:2025-05-01 08:15:51

8

主题

75

回帖

211

积分

中级会员

积分
211
发表于 2024-5-9 14:00:14 | 显示全部楼层
难道是我程序的问题
截图202405091356523871.jpg
截图202405091357343436.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2024-5-9 14:26:12 | 显示全部楼层
我怀疑是你程序哪里没写好,读取和写入的函数是不是哪里不对,IapProgram(Addr,Dat/256);写入这个地址的时候,确保这个地址里的数据为0xff才可以写入,否则需要擦除
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:431
  • 最近打卡:2025-05-01 08:15:51

8

主题

75

回帖

211

积分

中级会员

积分
211
发表于 2024-5-9 14:35:49 | 显示全部楼层
电子DI*** 发表于 2024-5-9 14:26
我怀疑是你程序哪里没写好,读取和写入的函数是不是哪里不对,IapProgram(Addr,Dat/256);写入这个地址的时 ...

这个我都确保了的,而且下载程序的时候都是勾了擦除EEPROM的。我现在按0x100以下写循环就正常。
void Read_disk(void)//区判断
{           
         flash_offset=(flash_num/8)*0x10;//偏移量计算  8个数据=0x10
         for(i=0;i<(128/flash_num);i++)//当前disk获取  
         {
           if((flash_ReadByte(i*flash_offset))!=0xffff)
                 {
                 disk=i+1;//判断当前区
                 }
         }
         disp[0x09]=disk;//当前区给屏幕显示
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:431
  • 最近打卡:2025-05-01 08:15:51

8

主题

75

回帖

211

积分

中级会员

积分
211
发表于 2024-5-11 09:16:32 | 显示全部楼层
我用手头上的另外一个单片机STC8F1K08S2-TSSOP20测试了一下是没问题的,和手册标识的4KB EEPROM一致(0x0000~0x0FFF),
但是STC8G1K08A-8PIN的内部EEPROM只有256byte(0X0000~0X00FF),还是说我手头的这款有损坏了导致的。没有多余的没法测试

点评

使用不一样,尤其是等待时间要注意 [attachimg]43674[/attachimg]  详情 回复 发表于 2024-5-11 10:19
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-5-11 10:19:21 | 显示全部楼层
King*** 发表于 2024-5-11 09:16
我用手头上的另外一个单片机STC8F1K08S2-TSSOP20测试了一下是没问题的,和手册标识的4KB EEPROM一致(0x000 ...
使用不一样,尤其是等待时间要注意


截图202405111019077924.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15613
发表于 2024-5-11 10:25:49 | 显示全部楼层

下面的STC8A指STC8A8K64S4A12,
STC8A8K64D4已改到跟STC8G1K08/STC8H8K64U一致
截图202405111024003755.jpg


截图202405111025435365.jpg

回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:25 , Processed in 0.374928 second(s), 91 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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