[求助] 关于MSP430与EEPROM通信之间的问题

idf66liu   2012-4-4 10:22 楼主
关于MSP430与EEPROM通信之间的问题

小弟我刚刚接触MSP430, 准备以后就在这个方向学习下去, 还希望贵地的单片机大神们能给予点滴指导.

问题如下:
在与EEPROM进行IIC通信的时候, 向EEPROM写入字节的时候发现MSP430无法得到EEPROM的回应, 不知道问题出在何处, 物理连线是应该没有问题吧.

以下部分代码:

//  检查从机应答
uchar IIC_ChkAck(void)
{
    uchar ack;
    SDA_H;
    _NOP(); _NOP();
    SCL_H;
    _NOP(); _NOP();
    SDA_IN;
    _NOP(); _NOP();
    ack = SDA_VAL;
    SCL_L;
    delay10nsec();
    SDA_OUT;
    if(ack)
      return TRUE;
    else
      return FALSE;
}

//  向EEPROM写 N-BYTE   N<=8
uchar EEPROM_Write_NByte(uchar address, uchar *out_ptr, uchar n)
{
    uchar flag;
   
    IIC_Start();
    IIC_Write_Byte(DEVICE_ADDRESS);
    if(IIC_ChkAck())
        IIC_Write_Byte(address);
    else
        return 0;
    if(IIC_ChkAck())
        flag = IIC_Write_NByte(out_ptr, n);
    else
        return 0;
    delay10msec();
    if(flag)
        return 1;
    else
        return 0;
}

EEPROM_Write_NByte函数运行的时候, 每次检查从机应答都是FALSE, 还希望大神指点.
另外, 对于_NOP(); 和delaynsec之类的延时函数, 具体有多大区别, 应该如何把握, 小弟也希望能得到解答.
不胜感激!

回复评论 (2)

EEPROM的地址是否正确?是否加了上位电阻?
点赞  2012-4-5 14:45

回复 沙发 kingheimer 的帖子

我是买的学习板, 根据原理图, 连线应该没错误
点赞  2012-4-6 14:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复