Y_G_G 发表于 2020-4-17 11:44 是的,我也是后来才注意到。他读回的是上次操作的地址,包括读和写。这样的话意义不大了。 |
zhj1314 发表于 2020-4-16 20:23 这个功能是在不断电的情况下,你可以不用通过地址就可以直接知道上一次读写的最后一个地址,这功能就和你理解的是一样的 但在实际中,基本就不用看这个功能 你接手一个项目,这24C256还得保持电源,如果断电了,这记录应该就是没有了吧, 英文不行,看不明白它是只保存读取还是写入 如果读取也会保存的话,你就有可能不知道上一次写入的地址是哪个了 9#已经给出了正确的用法,特别是在要累加记录又要保存之前记录,而且,设备会经常断电的情况的,地址的记录最好就是另外放一个地址在保存 |
xxpp2011 发表于 2020-4-16 22:53 谢谢。懂了。 |
zhj1314 发表于 2020-4-16 20:23 我用AT24C256做考勤记录存储时是用两个字节存地址标志的,比方说考勤记录从0X0000开始存,每条记录10字节,存完一条就将地址标志加10,放进存标志的地址,这样就可以掉电保存当前存储位置了,还可以由此计算出每条记录的每个字节存在哪个地址。上电后先从标志地址读出标志值,从该位置开始继续存考勤记录,避免覆盖先前的记录。 没有了解过CURRENT ADDRESS READ这个功能,不过如果有的话差不多也是这样用的吧。 |
Y_G_G 发表于 2020-4-16 14:16 你说的有道理,数据写到哪里都是程序员控制的。但是CURRENT ADDRESS READ的意义在哪呢? |
Y_G_G 发表于 2020-4-16 14:16 假如这块EEPROM曾经被你的同事写过重要数据,接受项目后你需要接着写数据。为了不覆盖之前的数据,你是让你的同事用脑子回忆起当时哪个地址区间有数据,还是通过CURRENT ADDRESS READ获取the last address accessed during the last read or write operation? 最后的地址当然是我指定的,理论上我可以指定地址区间内的任何地址。 |
"获取的是最后数据存入的地址" 依然不知道你在说什么,这最后的地址不也是你自己指定的吗?用得着去"获取"吗? 不管你是连续写入多个地址还是单独写入一个地址,这最后的地址必然是你自己所指定的地址,肯定是达到了某个条件就停止写入了,那么,这个所谓你地址不就是你指定的吗? |
xxpp2011 发表于 2020-4-16 10:27 好的 ![]() |
Y_G_G 发表于 2020-4-16 08:25 获取的是最后数据存入的地址,自己决定是覆盖之前的数据还是往后存储。 |
想存哪里就存哪里呀,AT24CXX不会给你自动分配地址的,读写都要自己指定1个地址,,AT24C256地址范围为0X0000~0X7FFF,每个地址可存1字节数据。 如果存在之前写过数据的地址,就会覆盖先前的数据。如果读之前没存过数据的地址,就会读出0XFF。 |
"获取内部寄存器地址" 这话什么意思? AT24C256不管是读还是写,都是先写入一个地址,然后再决定读取还是写入,而这个地址是由自己定的,用得着获取什么吗? |