在线情况
楼主
  • 头像
  • 级别
    • 积分13
    • 经验304
    • 文章14
    • 注册2011-03-07
    求:用CC430F15XX单片机的I2C操作AT24C系列EEPROM的程序
    求:用CC430F15XX单片机的I2C操作AT24C系列EEPROM的程序(不是模拟的,而是真的用msp430的I2C模块),我自己写了一个,但不知道为什么,读出来的数据总是为0xFF,看哪位大神有写好了点参考一下,谢谢!
    要避免一见钟情的沉沦,记得不要看她第一眼。
    在线情况
    2
    • 头像
    • 级别
      • 积分7
      • 经验295
      • 文章12
      • 注册2010-12-01
      硬件I2C主要是看寄存器的配置,你可以先下载TI提供的例程里面找点看看,应该可以实现,前一阵子刚研究玩~~
      Jake WOO,Happy~~
      在线情况
      3
      • 头像
      • 级别
        • 积分13
        • 经验304
        • 文章14
        • 注册2011-03-07
            本着对别人和自己负责的有始有终的原则,说说现在的更新或者状态:
            TI上面确实有例程,不过那是针对msp430x2系列的,而且很晕倒的是msp430x2系列和CC430F系列的I2C颇有不同。当时我走入困境时,最后使出了一招杀手锏,那就是不用430的内置的I2C,而用那几个引脚来做模拟I2C(因为以前做过模拟的I2C写AT24CXX的EEPROM程序)!经过测试,发现是OK的。
            我用模拟的方法只是为了证明硬件是OK的,最后还要使用CC430的I2C。经过仔细看datasheet才知道,I2C那个发送中断意味着的是可以往发送缓冲区填写内容,而并非说真的能够往里面填写了,为什么呢?因为正常通讯是,还要接收一个ACK才行,比较郁闷的是这个I2C内核有NACK的中断而没有ACK的中断。所以我自己写了一个小函数,去判断ACK插在中间,整个过程就OK了。

            重点就是:要自己想办法判断ACK才能再发下一个数据。这是我现在的做法,召唤更好或者更正确的做法。
        要避免一见钟情的沉沦,记得不要看她第一眼。
        在线情况
        4
        • 头像
        • 级别
          • 积分1
          • 经验246
          • 文章6
          • 注册2011-04-05
          我也遇到这个问题了,晕死,我是用msp1232模拟时序的,出来全是ff,我看了实验例子好久,都是根据上面改的,现在还没解决,能不能将你程序让我看看的,模拟时序的。。我的邮箱是841111230@qq.com
          微控网感谢您的参与
          Powered by LeadBBS 9.2 .
          Page created in 6.7490 seconds with 5 queries.