野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14202|回复: 6

利用火哥给的I2C例程进行实验出现这样的问题,感谢大家热情解答

[复制链接]
发表于 2017-7-12 11:06:36 | 显示全部楼层 |阅读模式
用的是火哥提供的模拟I2C例程,只是注释掉了bsp_i2c_ee.c里面的测试函数和修改了主函数,进行eeprom的读写操作,利用串口显示读写都成功了,但是显示出来的数据全都是0,就是读出和写入的数据不一致。但是如果程序一点都不改效果跟视频里是一样的,说明硬件没问题,大神们可以帮我看看波,实验结果如下图,两种方式测试的。

1

1

1

1

2

2

2

2

回复

使用道具 举报

发表于 2017-7-12 11:08:17 | 显示全部楼层
测试函数j里调用了I2C初始化,不用测试函数的话你要在main里调用那个I2C的GPIO初始化函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 11:09:55 | 显示全部楼层
flyleaf 发表于 2017-7-12 11:08
测试函数j里调用了I2C初始化,不用测试函数的话你要在main里调用那个I2C的GPIO初始化函数

嗯嗯,谢谢你我这就试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 11:21:05 | 显示全部楼层
flyleaf 发表于 2017-7-12 11:08
测试函数j里调用了I2C初始化,不用测试函数的话你要在main里调用那个I2C的GPIO初始化函数

没有啊我就注释了这些函数uint8_t ee_CheckOk(void),void ee_Erase(void),uint8_t ee_Test(void) 。
I2C的GPIO初始化函数在bsp_i2c_gpio.c里边。而且我用串口打印出来显示数据写入读出都实现了,就是说写入和读出的数据不一致,读出的全是0。
uint8_t readData[8]={0};
uint8_t writeData[8]={1,2,3,4,5,6,7,8};
用的也是上面两个数组
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 13:15:30 | 显示全部楼层
哎哎哎哎哎哎哎
回复 支持 反对

使用道具 举报

发表于 2017-7-12 13:52:44 | 显示全部楼层
就是ee_CheckOk函数,它初始化了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 15:04:13 | 显示全部楼层
flyleaf 发表于 2017-7-12 11:08
测试函数j里调用了I2C初始化,不用测试函数的话你要在main里调用那个I2C的GPIO初始化函数

嗯嗯,看到了,太感谢了
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-16 12:54 , Processed in 0.034165 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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