[AVR单片机] 请教一下TWI的问题

[复制链接]
2507|6
 楼主| chenczy 发表于 2010-5-26 12:29 | 显示全部楼层 |阅读模式
我想问一下我做的TWI为什么不行,就是一个读写外部ROM的程序,我都是按资料上说的做的,我用的是MEGA32L,下面帖一下我的程序
  TWBR=0x2a;     //80K
      TWSR=0x00;
      TWAR=0x00;
      TWCR=0x44;

  TWCR=0xa4;           //开始
      while(!(TWCR&0x80));
      TWDR=0x02;         //写操作地址为0x01
      TWCR=0x84;
       while(!(TWCR&0x80));
      TWDR=0x20;
      TWCR=0x84;
       while(!(TWCR&0x80));
      TWCR=0x94;            //停止

  TWCR=0xa4;            //开始
       while(!(TWCR&0x80));
      TWDR=0x03;         //读操作地址为0x01
      TWCR=0x84;
       while(!(TWCR&0x80));
      cent=TWDR;
      while(!(TWCR&0x80));
      TWCR=0x94;           //停止
想问一下这里有什么问题?我用的不是中断,这样做行吗?我这里最后的数是03,即cent=3,刚学的TWI,请高手指教
 楼主| chenczy 发表于 2010-5-26 15:09 | 显示全部楼层
从新再看一下资料,发现上面程序有好多错误,但还不能实现。那位大大能不能帮一下
 楼主| chenczy 发表于 2010-5-26 17:53 | 显示全部楼层
终于有点反应,不过读出来的数全是0,今晚再好好看看资料
llljh 发表于 2010-5-26 22:00 | 显示全部楼层
全是0?不对吧
 楼主| chenczy 发表于 2010-5-27 09:06 | 显示全部楼层
可能和我的外部ROM有关,我用的是FM24C64
 楼主| chenczy 发表于 2010-5-27 17:56 | 显示全部楼层
经过二天的实验,终于搞定,因为本人比较笨,所以用的时间久了点,不过还好,终于搞定
ershisi 发表于 2010-5-27 21:47 | 显示全部楼层
6# chenczy
怎么搞定的?分享下经验
您需要登录后才可以回帖 登录 | 注册

本版积分规则

141

主题

791

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部