找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1776|回复: 9
收起左侧

24c02连续写多个字节需要手动翻页,不然会覆盖前面的内容,但是怎么翻页呢?

[复制链接]
ID:1018761 发表于 2022-5-7 11:07 | 显示全部楼层 |阅读模式
求助51单片机+24c02的问题
我查资料知道24c02连续写多个字节需要手动翻页,不然会覆盖前面的内容,但是怎么翻页呢,求助大家!!!

回复

使用道具 举报

ID:401564 发表于 2022-5-7 12:16 | 显示全部楼层
24C02只有16个字节的缓冲器,也就是说,你写完16个字节之后是一定要停止,等待写入完成之后,才能写下一个16字节的数据
如果是16个字节跨越了物理页面,就得先写一部分,然后,停止,再重新写入地址,再写入余下的数据
回复

使用道具 举报

ID:1018761 发表于 2022-5-7 13:05 来自手机 | 显示全部楼层
谢谢楼上的大佬!
回复

使用道具 举报

ID:1018761 发表于 2022-5-7 13:06 来自手机 | 显示全部楼层
Y_G_G 发表于 2022-5-7 12:16
24C02只有16个字节的缓冲器,也就是说,你写完16个字节之后是一定要停止,等待写入完成之后,才能写下一个16字 ...

请问物理页面是什么意思呢
回复

使用道具 举报

ID:401564 发表于 2022-5-7 13:32 | 显示全部楼层
416604333 发表于 2022-5-7 13:06
请问物理页面是什么意思呢

个人理解,不知道对不对
就是24C02地址中,低4位的0-15就是一个物理页面
比如,0x00-0x0f,这区间的16个地址就是一个物理页面,0x10-0x1f也是0x10-0x21,这就跨越一个页面了,下一个页面是0x20-0x2f
以下24VL014的说明,虽然不是24C02,但原理是一样的
51hei截图20220507133006.png


回复

使用道具 举报

ID:155507 发表于 2022-5-7 14:33 | 显示全部楼层
24C02器件按8字节/页执行,  不是16字节


图10页写
24C02器件按8字节/页执行页写,24C04/08/16器件按16字节/页执行页写,24C32/64器件
按32字节/页执行页写。
页写初始化与字节写相同,只是主器件不会在第一个数据后发送停止条件,而是在EEPROM
的ACK以后,接着发送7个(24C02)或15个(24C04/08/16)或31个(24C32/64)数据。
EEPROM收到每个数据后都应答“0”。最后仍需由主器件发送停止条件,终止写序列(见图10)。
接收到每个数据后,字地址的低3位(24C02)或4位(24C04/08/16)或5位(24C32/64)
内部自动加1,高位地址位不变,维持在当前页内。当内部产生的字地址达到该页边界地址时,
随后的数据将写入该页的页首。如果超过8个(24C02)或16个(24C04/08/16)或32个
(24C32/64)数据传送给了EEPROM,字地址将回转到该页的首字节,先前的字节将会被覆盖。

回复

使用道具 举报

ID:1018761 发表于 2022-5-7 16:43 来自手机 | 显示全部楼层
那怎样在写满一页的字节后停止下了,加一个延时程序还是什么呢
回复

使用道具 举报

ID:887371 发表于 2022-5-7 17:19 | 显示全部楼层
416604333 发表于 2022-5-7 16:43
那怎样在写满一页的字节后停止下了,加一个延时程序还是什么呢

可能你理解错了沙发的描述。
不是“写满一页的字节”而是“跨页”后,停止,延时5毫秒,再重新写入地址,再写入余下的数据。
24C02的页大小是8,所以跨页地址是0x08 0x10 0x18 0x20等。
我举个例子:
从地址0x04开始连续写8个数据,经过了跨页地址0x08。
所以操作步骤如下
1.从地址0x04开始连续写4个数据
2.iic_stop();
3.延时5毫秒
4.从地址0x08开始连续写之后的4个数据
5.iic_stop();
回复

使用道具 举报

ID:401564 发表于 2022-5-7 17:20 | 显示全部楼层
416604333 发表于 2022-5-7 16:43
那怎样在写满一页的字节后停止下了,加一个延时程序还是什么呢

可以延时,也可以等待应答
停止信号后,如果是延时的话,要看数据手册上的要求,一般不低于5mS
也可以是等待应答,就像查询应答信号一样,一直不断的查询SDA线,得到应答之后就可以写入下一个页面了
新手推荐延时,因为这样可以减少逻辑关系的处理
等到你会用这个之后,推荐用等待应答,这样的会快一点,效率会高点,因为,并不是每次写入都要5mS的
回复

使用道具 举报

ID:1018761 发表于 2022-5-7 18:25 | 显示全部楼层
Y_G_G 发表于 2022-5-7 17:20
可以延时,也可以等待应答
停止信号后,如果是延时的话,要看数据手册上的要求,一般不低于5mS
也可以是等 ...

谢谢大佬!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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