OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10844|回复: 7

EEPROM (IIC)修正版适合AT24C02~AT24C1024

[复制链接]

19

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2013-4-30
在线时间
0 小时
发表于 2013-8-16 15:27:08 | 显示全部楼层 |阅读模式
EEPROM (IIC)修正版适合AT24C02~AT24C1024 根据需要修改

EEPROM.zip

5.17 KB, 下载次数: 997

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2014-1-19
在线时间
6 小时
发表于 2014-1-19 19:29:31 | 显示全部楼层
楼主的代码有问题,在IIC.h 中,宏定义
#define IIC_SCK_OUT()      {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=0X30000000;}/* 配置其输出*/
#define IIC_SCK_HIGH()    {GPIOB->ODR|=1<<7; }  /* 输出为高*/ 
#define IIC_SCK_LOW()     {GPIOA->ODR|=0<<7;}  /* 输出为低*/

#define IIC_SDA_OUT()    {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=0X08000000;}
#define IIC_SDA_IN()     {GPIOB->CRL&=0XF0FFFFFF;GPIOB->CRL|=0X03000000;}
#define IIC_SDA_HIGH()   {GPIOB->ODR|=1<<6;}
#define IIC_SDA_LOW()    {GPIOB->ODR|=0<<6;}
#define IIC_SDA_GET()    (((GPIOB->ODR|=1<<6)&(0x01<<6)))

其中的
(1)#define IIC_SCK_LOW()     {GPIOA->ODR|=0<<7;}  /* 输出为低*/应该改为{GPIOA->ODR&=~(1<<7);}
(2)#define IIC_SDA_LOW()    {GPIOB->ODR|=0<<6;}应该改成{GPIOA->ODR&=~(1<<6);}
任何数与0做位或运算语句无效。
(3)#define IIC_SDA_GET()    (((GPIOB->ODR|=1<<6)&(0x01<<6)))
这里的寄存器用错了,应该这样写:((GPIO->IDR&(1<<6))>>6)
     出现这些错误,说明楼主代码没有经过调试,在发布前最好调试好,免得给别人造成误导。不过还得感谢楼主的共享精神,请楼主不要生气,咱们搞技术的就得实事求是,不是吗?
回复 支持 2 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-16 16:32:21 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2015-9-22
在线时间
8 小时
发表于 2017-3-24 14:34:22 | 显示全部楼层
如果是AT24CM02(AT24C2048)呢
回复 支持 反对

使用道具 举报

头像被屏蔽

345

主题

422

帖子

0

精华

禁止访问

积分
1250
金钱
1250
注册时间
2016-10-14
在线时间
33 小时
发表于 2017-4-17 10:04:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

44

主题

298

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2016-9-9
在线时间
84 小时
发表于 2017-4-17 10:24:49 | 显示全部楼层
doleph 发表于 2014-1-19 19:29
楼主的代码有问题,在IIC.h 中,宏定义
#define IIC_SCK_OUT()     & ...

可以啊,高手
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-2-16
在线时间
1 小时
发表于 2020-6-6 14:58:08 | 显示全部楼层
doleph 发表于 2014-1-19 19:29
楼主的代码有问题,在IIC.h&nbsp;中,宏定义
#define&nbsp;IIC_SCK_OUT()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& ...

您的引脚也不太对,A和B混用
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2020-6-19
在线时间
7 小时
发表于 2020-6-19 21:04:41 | 显示全部楼层
24c256呢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 06:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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