硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6737|回复: 12
收起左侧

[客户分享] V5开发板,EEPROM读写注意问题,写入后要加个检测保证完全写入再读取

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
发表于 2015-11-27 19:08:19 | 显示全部楼层 |阅读模式
V5开发板,EEPROM读写注意问题,写入后要加个检测保证完全写入再读取
bsp_eeprom_24xx驱动更新.zip (3 KB, 下载次数: 551)


特别注意一点,覆盖着两个文件后,V4, V5和V6板子这里都要选择AT24C128

QQ截图20180803170453.png


回复

使用道具 举报

36

主题

142

回帖

255

积分

高级会员

积分
255
发表于 2018-7-25 14:10:03 | 显示全部楼层
#ifdef AT24C04
        #define EE_MODEL_NAME                "AT24C04"
        #define EE_DEV_ADDR                        0xA0                /* é豸μØÖ· */
        #define EE_PAGE_SIZE                8                        /* ò3Ãæ′óD¡(×Ö½ú) */
        #define EE_SIZE                                512                        /* ×üèYá¿(×Ö½ú) */
        #define EE_ADDR_BYTES                1                        /* μØÖ·×Ö½ú¸öêy */
        #define EE_ADDR_A8                        1                        /* μØÖ·×Ö½úμĸß8bitÔúê××Ö½ú */
#endif

#define EE_PAGE_SIZE                页面大小应该是16吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2018-7-25 14:17:32 | 显示全部楼层
takent 发表于 2018-7-25 14:10
#ifdef AT24C04
        #define EE_MODEL_NAME                "AT24C04"
        #define EE_DEV_ADDR                        0xA0                /* é豸μ ...

对。
QQ截图20180725141729.png
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2019-1-6 18:45:12 | 显示全部楼层
版主,这个驱动程序支持AT24C16吗?需要怎么修改呢?
回复

使用道具 举报

56

主题

905

回帖

1073

积分

至尊会员

积分
1073
发表于 2019-1-6 21:47:55 | 显示全部楼层
硬汉的代码风格没说的,而且还不断更新深入。     
硬汉能整整I2C的硬件方式不,现在好多芯片都I2C的,速度起不来,占用时间太多一直用得不好,太可惜了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2019-1-7 00:11:54 | 显示全部楼层
Caesar 发表于 2019-1-6 18:45
版主,这个驱动程序支持AT24C16吗?需要怎么修改呢?

此贴三楼,坛友做了整理

可以同时操作02/04/08/16/32/64/128的程序

http://www.armbbs.cn/forum.php?m ... &highlight=AT24
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2019-2-20 08:48:45 | 显示全部楼层
“保证完全写入” 我理解之前的程序为什么穿插这么多延时了,也更有底气优化这个合理的节奏。感谢明示
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2020-9-21 09:56:39 | 显示全部楼层
非常感谢分享, 解决了我困扰了两天的 无法写入只能读出的问题。UCOS-III系统中, 先写入后读取 无法保证写入的完整性。 (在此留言,希望对有困惑的小伙伴有所帮助。)
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2021-8-30 16:36:13 | 显示全部楼层
大家好,程序里面地址或上0x0E的话,发给AT24Cxx的A0、A1位应该是1b,但是原理图是将A0、A1接地了,怎个怎么理解啊,感觉A0、A1外部接地,程序里面或上0x0E不对啊

代码.JPG
原理图.JPG
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2021-8-30 16:44:25 | 显示全部楼层
weishengjie 发表于 2021-8-30 16:36
大家好,程序里面地址或上0x0E的话,发给AT24Cxx的A0、A1位应该是1b,但是原理图是将A0、A1接地了,怎个怎 ...

V5开发板的是C128,用不到这个引脚。用的是#else的操作

注意AT24C01/02/04/08/16/128发送设备地址时,8位数据的不同含义
http://www.armbbs.cn/forum.php?m ... id=87557&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2021-8-30 16:53:44 | 显示全部楼层
eric2013 发表于 2021-8-30 16:44
V5开发板的是C128,用不到这个引脚。用的是#else的操作

注意AT24C01/02/04/08/16/128发送设备地址时, ...

硬汉哥好,后面更新的驱动不是可以兼容AT24C02和AT24C04了么,那么如果改成这两个器件并参考V5的原理图的话这个程序是兼容不了的啊,是否应该改成这样:i2c_SendByte(EE_DEV_ADDR | I2C_WR | ((_usAddress >> 8)  << 1));
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106913
QQ
 楼主| 发表于 2021-8-30 17:01:04 | 显示全部楼层
weishengjie 发表于 2021-8-30 16:53
硬汉哥好,后面更新的驱动不是可以兼容AT24C02和AT24C04了么,那么如果改成这两个器件并参考V5的原理 ...

我们发的驱动仅支持我们的板子使用的型号

下面帖子三楼回复,坛友在我们的基础上整理了一个。你参考下。
注意AT24C01/02/04/08/16/128发送设备地址时,8位数据的不同含义
http://www.armbbs.cn/forum.php?m ... 7557&fromuid=58
(出处: 硬汉嵌入式论坛)


回复

使用道具 举报

0

主题

11

回帖

11

积分

新手上路

积分
11
发表于 2021-8-30 17:05:30 | 显示全部楼层
eric2013 发表于 2021-8-30 17:01
我们发的驱动仅支持我们的板子使用的型号

下面帖子三楼回复,坛友在我们的基础上整理了一个。你参考下 ...

谢谢硬汉哥解惑
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 06:56 , Processed in 0.195667 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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