2856

帖子

260

TA的资源

五彩晶圆(高级)

21
 
songwenshuai 发表于 2016-4-9 12:00
楼主你好 我按照你的跑了一下 但是不成功啊,能帮帮我吗?或者给一个源程序,我想参考下;

时间太长,代码未必能找到,我尽量找找看
 

回复

5

帖子

1

TA的资源

一粒金砂(初级)

22
 
ltbytyn 发表于 2016-4-9 12:29
时间太长,代码未必能找到,我尽量找找看

谢谢楼主!没想到回复我了,我是大二学生,卡着半个月了,官方例程写的太复杂,也是运行不成功。网上找了好多资料,看到您的感觉还不错,您有时间吗??能不能加个QQ指导我一下,自学表示亚历山大啊,,谢谢,可以看看我的代码吗?帮我找找毛病为什么不成功,感谢之极!我QQ 1121452500 谢谢大神
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

23
 

我在采用该程序的时候发现这样的问题:
   采用先写,延时,在读出。发现这样的问题:
  写入数据函数->延时->断点-->读函数->延时,程序运行正常,结果正确;
如采用这样的步骤:
    写入数据函数->延时-->读函数->延时,程序不正确:程序停留在:
  while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。

          I2caRegs.I2CSAR = I2C_SLAVE_ADDR;               //Set slave address
           I2caRegs.I2CCNT = 2;                            //Set count to 2 address bytes
           I2caRegs.I2CDXR = I2C_EEPROM_HIGH_ADDR;

           I2caRegs.I2CMDR.bit.TRX = 1;                    //Set to Transmit mode
           I2caRegs.I2CMDR.bit.MST = 1;                    //Set to Master mode
           I2caRegs.I2CMDR.bit.FREE = 1;                   //Run in FREE mode
           I2caRegs.I2CMDR.bit.STP = 0;                    //Dont release the bus after Tx
           I2caRegs.I2CMDR.bit.STT = 1;                    //Send the start bit, transmission will follow

           while(I2caRegs.I2CSTR.bit.XRDY == 0){};         //Do nothing till data is shifted out
           I2caRegs.I2CDXR = I2C_EEPROM_LOW_ADDR;
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

24
 
EEPROM并不是想想种的边写边存
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

25
 
单独运行你的接收函数,发现程序停留在
while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。
不知原因为何?

点评

以前的测试程序。  详情 回复 发表于 2016-4-17 16:36
 
 
 

回复

2856

帖子

260

TA的资源

五彩晶圆(高级)

26
 
zhdm 发表于 2016-4-16 11:01
单独运行你的接收函数,发现程序停留在
while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。
不知原因为何?

F28027_IIC_RS.zip (140.74 KB, 下载次数: 128)
以前的测试程序。
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

27
 
博主,我用F28335,16级的fifo。读出来的数据第十四个元素以后全是255,怎么感觉这个还是fifo啊?只是可以多显示数组。
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

28
 
又测试了一下,写进去的和读出来的数据是不同的,而且,读数据时,14个数据以后是255
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

29
 
ltbytyn你好,我最近在调试28035的I2C程序,看到你的讲解和程序,深受启发,对于程序我还有几点疑问,向你请教一下;程序中的高低字节为什么要设为0x03和0x57,我发现设置其他值会出错?
#define I2C_EEPROM_HIGH_ADDR  0x03
#define I2C_EEPROM_LOW_ADDR   0x57
还有你的程序是写入并读出100字节,我发现只能读出9字节,后面的都是0x255;我用的是AT24C32,麻烦帮我解答一下,谢谢
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

30
 
能问下楼主,我无法通过I2caRags直接修改寄存器,但是GPIO的GpioCtrlRegs可以,是因为启动文件里缺少什么吗,代码用的是例程
 
 
 

回复

2618

帖子

0

TA的资源

纯净的硅(高级)

31
 
iic通信芯片之间的两根线,不错的分享。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表