找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 162|回复: 6
打印 上一主题 下一主题
收起左侧

15W408单片机片内EEPROM往不同扇区读写操作

[复制链接]
跳转到指定楼层
楼主
ID:705846 发表于 2024-4-13 16:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
15W408片内EEPROM读写数据时IAP_ADDRESS+1的+1, +2,+3是什么意思。如果要往不同的扇区写数据应该怎么切换扇区。

                   set1=IapReadByte(IAP_ADDRESS+0);
                set2=IapReadByte(IAP_ADDRESS+1);
                set3=IapReadByte(IAP_ADDRESS+2);
                set4=IapReadByte(IAP_ADDRESS+3);


void save()
{
        IapEraseSector(IAP_ADDRESS);    //扇区擦除
        IapProgramByte(IAP_ADDRESS+0, set1);        
        IapProgramByte(IAP_ADDRESS+1, set2);        
        IapProgramByte(IAP_ADDRESS+2, set3);        
        IapProgramByte(IAP_ADDRESS+3, set4);        
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2024-4-13 19:25 | 只看该作者
STC15W408单片机的EEPROM有5K,分10个扇区,每个扇区容量512字节。各扇区首地址为0x0000、0x0200、0x0400、0x0600......。可以指定任意扇区首地址IAP_ADDRESS+n读写字节。
回复

使用道具 举报

板凳
ID:705846 发表于 2024-4-13 19:42 | 只看该作者
可以指定任意扇区首地址IAP_ADDRESS+n读写字节。这句话不明白。能详细一点吗,另外,如果我要在一个扇区写多个字节,该如何改写save代码,或者不同扇区写字节怎么写代码。谢谢你。
回复

使用道具 举报

地板
ID:458247 发表于 2024-4-13 20:40 | 只看该作者
samxon 发表于 2024-4-13 19:42
可以指定任意扇区首地址IAP_ADDRESS+n读写字节。这句话不明白。能详细一点吗,另外,如果我要在一个扇区写 ...

1、要写到哪个扇区就调用这个函数擦除对应扇区,IapEraseSector(IAP_ADDRESS);    //扇区擦除
2、要写多个字节的话就用
for(int i=0; i<len; i++)
{
    IapProgramByte(IAP_ADDRESS+i, data[ i]);
}
IAP_ADDRESS为你要写的扇区首地址。data为你要写入的数据存放的数组;
注意事项:跨扇区写数据的话,两个扇区都要擦除才可以
回复

使用道具 举报

5#
ID:213173 发表于 2024-4-14 07:41 | 只看该作者
samxon 发表于 2024-4-13 19:42
可以指定任意扇区首地址IAP_ADDRESS+n读写字节。这句话不明白。能详细一点吗,另外,如果我要在一个扇区写 ...

STC片内EEPROM容量随不同型号大小有所不同,除IAP外每个扇区的首地址是固定的。读/写EEPROM的代码要明确指定扇区地址。例如读取第3扇区的第10个字节的地址:IapReadByte(0x0409); 或 IapReadByte(0x0400+9);写EEPROM也同理。在你的代码中IAP_ADDRESS是宏定义地址常量。
回复

使用道具 举报

6#
ID:705846 发表于 2024-4-14 14:07 | 只看该作者
wulin 发表于 2024-4-14 07:41
STC片内EEPROM容量随不同型号大小有所不同,除IAP外每个扇区的首地址是固定的。读/写EEPROM的代码要明确 ...

谢谢您,明白了。
回复

使用道具 举报

7#
ID:57657 发表于 2024-4-16 08:36 | 只看该作者
由于楼主的程序不完整,缺乏  IapEraseSector、 IapReadByte 函数内的程序以及参数情况。
无法确定 IAP_ADDRESS 是常量还是变量,以及 set1, set2, set3, set4的数据类型,请提供完整的程序才能解答。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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