注册 登录
查看: 465|回复: 6

为什么I2c对24C02读写数据液晶上总是显示255,都不知道写进去没,帮小弟解决一下吧

[复制链接]
发表于 2014-5-24 20:23:00 | 显示全部楼层 |阅读模式
如题,据说I2c里有BUG,但是不知道怎么改,还有就是24C02的从机地址怎么查,是多少啊?
回复

使用道具 举报

发表于 2014-5-24 20:32:00 | 显示全部楼层
【一天攻破K60】 BUG 汇总 - 一天攻破K60 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... tid=1294&ctid=1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-24 20:51:24 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-24 20:32
【一天攻破K60】 BUG 汇总 - 一天攻破K60 - 山外-vcan123论坛 http://www.vcan123.com/forum.php?mod=view ...

山外哥,按照那个教程改了,我的液晶都不显示数据了,去掉ODO就好了,但是只显示255,帮我看一下程序吧,十分感谢:
这个是读取数据的:
  1. for (i=0;i<12;i++)
  2.    setnum[i]=i2c_read_reg(I2C0,0x1D,i);

  3.    for(i=0;i<12;i++) //显示初值
  4. {
  5.    LCD_Write_String((i/6)*42,i%6,lcd_show[i]);
  6.    LCD_Write_Num((i/6)*42+20,i%6,setnum[i],3);
  7.   }
这个是写入数据的:
  1. for(i=0;i++;i<12)
  2.   
  3.     i2c_write_reg(I2C0, 0x1D, i, setnum[i]);
调用没问题吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-25 08:46:57 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-24 20:32
【一天攻破K60】 BUG 汇总 - 一天攻破K60 - 山外-vcan123论坛 http://www.vcan123.com/forum.php?mod=view ...

山外哥,修复了bug怎么还是不行呢?
回复 支持 反对

使用道具 举报

发表于 2014-5-25 09:00:30 | 显示全部楼层
TOBENO.1 发表于 2014-5-25 08:46
山外哥,修复了bug怎么还是不行呢?

如果修复了也不行,那我也没办法了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-25 10:33:36 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-25 09:00
如果修复了也不行,那我也没办法了。
  1.     ASSERT((SlaveID & 0x80) == 0);                      //断言,我们要求的7位地址的值仅仅是7bit,不是通信时要求的高7位
这句是什么意思,如果说24C02的从机地址是0xA0的话,应该怎么写成7位啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-25 11:00:08 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-25 09:00
如果修复了也不行,那我也没办法了。

山外哥,为什么总是断言失败啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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