OpenEdv-开源电子网

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

求助I2C读写AT24C256的问题

[复制链接]

3

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2012-9-12
在线时间
0 小时
发表于 2012-11-12 11:29:00 | 显示全部楼层 |阅读模式
                 用原子哥的程序I2C读写AT24C256,不管写什么,读出来的值始终都是0x00,查看了每一步的IIC_Wait_Ack(),也都是0!这是什么问题啊,高手指点一下!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2012-7-25
在线时间
0 小时
发表于 2012-11-12 12:37:21 | 显示全部楼层
回复【楼主位】LighT126:
---------------------------------
晚上把官方版本的给你。
采用DMA中断方式的。
需要你配置页写长度及实现读取等待。
回复 支持 反对

使用道具 举报

12

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-3-28
在线时间
0 小时
发表于 2012-11-12 17:04:55 | 显示全部楼层
http://www.openedv.com/posts/list/0/9417.htm#53938  看看这个贴有帮助吗
回复 支持 反对

使用道具 举报

27

主题

148

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2012-7-25
在线时间
0 小时
发表于 2012-11-12 20:17:01 | 显示全部楼层
AT24C512官方例程修改

EEPROM.zip

9.55 KB, 下载次数: 1978

回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2012-9-12
在线时间
0 小时
 楼主| 发表于 2012-11-12 20:18:26 | 显示全部楼层

问题已经解决了:我的SCL和SDA分别连的PB.6和PB.7,所以IO方向设置要改为:

#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8<<28;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=3<<28;}   这样就ok了!

但是编译是时候出现警告,会不会是移位运算GPIOB->CRL|=8<<28的问题,之前移位12的时候没有问题

myiic.c(45): warning:  #61-D: integer operation result is out of range

只好又改成下面的写法:

#define SDA_IN()  {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=0X80000000;}
#define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=0X30000000;}这样编译也没警告,读写也正确

回复 支持 反对

使用道具 举报

3

主题

9

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2012-9-12
在线时间
0 小时
 楼主| 发表于 2012-11-12 20:19:00 | 显示全部楼层
回复【4楼】maninman1981:
---------------------------------
谢谢,我的问题已经解决了!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2011-11-1
在线时间
3 小时
发表于 2013-1-6 10:51:20 | 显示全部楼层
回复【6楼】LighT126:
---------------------------------
你好,我也遇到和你一样的警告问题,请问你是怎么解决的..\HARDWARE\IIC\myiic.c(56): warning:  #68-D: integer conversion resulted in a change of sign
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-11-4 09:56:52 | 显示全部楼层
回复【5楼】LighT126:
---------------------------------
同样warning,同样的解决,谢谢,stm32使用的时候进场移位会有点问题,原来的端口移位24没问题,换了端口移位28就警告~~~
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2019-8-2
在线时间
9 小时
发表于 2019-8-2 10:42:39 | 显示全部楼层
楼主   我用的也是原子的ATCXX读写EEPROM的 我的是AT24C256也不对 ,您是怎么解决的啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 09:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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