快乐眼泪 发表于 2021-11-24 12:33 如果失败的那个,AT24C距离 MCU的距离比 成功的那块远的话(走线距离),那么需要延长 NOP时间。 然后,你始终没有提到的地方: AT24C 虽然有连写功能,但是,是不能跨页的, 而连读是可以跨页的。所以,如果你写两个字节,必须确保地址不能是 0x?F 不然,是不会写入下个地址的。这一点你要核对代码后确认的。 |
hhdsdy 发表于 2021-11-24 11:56 程序是用本坛子里的记忆开机次数程序,我分成两个字节分别存储,一块板子正常存储,一块板子只能储存小于255的数据,两块板子唯一不同的是正常板子的SDA是P2.0SCL是P2.1 不正常板子的SDA是P3.7SCL是P3.6但都定义好了的。 |
电路图和程序都贴出来看看吧 |
可以将255分开来3个地址来储存,读取再合并起来就行了 |
liuzx66 发表于 2021-11-24 10:10 谢谢提醒!我再对比一下两块板子的引脚走向。问题是255以内的能存储啊? |
jizhongbiao 发表于 2021-11-24 08:47 是的,分成两个字节存储的,一块板子可以,一块就不行。 |
硬件电路不同,程序就要相应修改。说不准那个地方就有冲突,就出现你这个现象了。 |
255是一个字节能表达的最大的数,要拆成2个字节存储。 |
hhh402 发表于 2021-11-23 22:23 谢谢回复!就是用的两个字节,一个可以,一个不行,到了255就清零从0开始了 |
24C02储存是8位的,可以用2个字节存储一个数据,就可以存储65536以内当数据,如果用4个字节存储一个数据,就可以存储65536*65536=4294967296以内当数据。 |
顶一下 |
小板的正常,大板子不行 |