找回密码
 立即注册
查看: 457|回复: 4

求助:STC8G1K08-8PIN读取AT24C04无法读取第00H地址上的数据|已解决

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:383
  • 最近打卡:2025-04-30 09:42:19

40

主题

194

回帖

601

积分

高级会员

积分
601
发表于 2024-4-23 15:49:46 | 显示全部楼层 |阅读模式
我在用STC8G1K08-8PIN连接AT24C04进行读写试验的时候,参考了STC-ISP V6.94里面的STC8G范例程序《I2C主机模式访问AT24C256(中断模式)-C》代码。

当前状态是读取正常,每次读取多字节也正常。
但无法读取第00H地址处的数据,总是从第01H地址处开始读。
求助代码该怎么改?

STC-ISP的范例代码

STC-ISP的范例代码

我的读取结果

我的读取结果

我的代码

我的代码

这是AT24C04.BIN文件内容

这是AT24C04.BIN文件内容

这是我的读取结果

这是我的读取结果
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-24 00:07:47 | 显示全部楼层
本帖最后由 晓飛飛 于 2024-4-24 00:16 编辑

首先,你需要仔细看看AT24C04的手册,尤其是读写时序那部分,
AT24C04是8位寻址的,存储地址不需要写高字节和低字节,写一个字节即可,
AT24C04和AT24C02的寻址方式是一样的,24C04相当于两个24C02,地址范围都是0~255,只是24C04通过器件地址访问另外的0~255存储空间。
从AT24C32开始,才需要双字节寻址,驱动代码是有所不同的,需要注意一下。


QQ截图20240424001401.png
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:383
  • 最近打卡:2025-04-30 09:42:19

40

主题

194

回帖

601

积分

高级会员

积分
601
发表于 2024-4-24 08:19:23 | 显示全部楼层
好的,我再看看手册。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:383
  • 最近打卡:2025-04-30 09:42:19

40

主题

194

回帖

601

积分

高级会员

积分
601
发表于 2024-4-24 11:38:35 | 显示全部楼层
改为传送单字节地址后,读出的数据是正常的。

我看手册不仔细,对下面这句理解错了。

对这句理解错了,没有往后面看

对这句理解错了,没有往后面看
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-25 13:36:09 | 显示全部楼层
好的,能帮到你就好。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 01:53 , Processed in 0.113410 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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