This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430 硬件IIC

TI工程能分享个  430 IIC驱动EEprom的程序给我吗   要硬件IIC的

  • 哪款430器件?

  • msp430  4系列  5系列都可以  最好是4系列的

  • 如图I2C 例程16 repeated start类型就是适合EEPROM的I2C通讯例程。基本EEPROM都这样。

  • msp430  硬件IIC 和EEprom    通信必须在中断里执行吗

    我看到TI的例程都是在中断里执行的      为什么呢?

  • 随你,都可以

    用中断是因为你可以不用一直等在那里查标志位,那样就一直ACTIVE运行着

    有了中断没事的时候不是还能干点其他的么

  • unsigned char EEprom_readbyte(unsigned char addr,unsigned char* data)
    {
    UCB0CTL1 |= UCTR;
    UCB0CTL1 |= UCTXSTT;
    UCB0TXBUF = addr;
    while(!(IFG2 & UCB0TXIFG))
    {
      if(UCB0STAT & UCNACKIFG)
      {
        return 1;
       }
    }
    UCB0CTL1 &= ~UCTR;
    UCB0CTL1 |= UCTXSTT;
    while(UCB0CTL1 & UCTXSTT);
    UCB0CTL1 |= UCTXSTP;
    while((IFG2 & UCB0RXIFG) == 0);
    *data  = UCB0RXBUF;

    while(UCB0CTL1 & UCTXSTP);

    return 0;

    }

    我的代码,在读EEprom时,接收的数据有的时候是上一次的数据的,当前的数据 ,要到下次读的时候才能读到,感觉UCB0RXIFG 标志位没有清除 ?

  • 我用示波器看的时候,接收到的数据是对的,就是UCB0RXBUF的数据不对