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.

TMP100

Other Parts Discussed in Thread: TMP100

为什么我用硬件IIC驱动AT24C02可以,但是在驱动TMP100的时候,我把从机地址发过去了,但是从机没有发送应答信号过来,是什么原因呀?

UCB0I2CSA =0X48;                //设置从机地址寄存器UCB0I2CSA

 UCB0CTL1 |= UCTR;

 UCB0CTL1 |= UCTXSTT;       // 置为UCTR,UCTXSTT,产生启动条件

 WriteByte(address);                //写入从机的数据存储地址

 //等待从机信号,准备些数据操作

 //__delay_cycles(10);

 while(UCB0CTL1 & UCTXSTT);      //判断从机是否产生应答信号,

请教,请教

  • 您好!

    需要确认的地方:

    1、TMP100供电、以及外围电路设计,从机地址的设置;

    2、MSP430程序中从机地址设置;

    3、用示波器抓一下图,看看有没有应答

  • WriteByte(address);                //写入从机的数据存储地址

    这句话可能不太对;

    USCIB中从机地址是UCBxI2CSA中设置,并且UCB0CTL1 |= UCTXSTT; 后时序自动发出的,NACK或者TX中断是在发完从机地址后才会产生,START信号发出后,主机是不会接受响应的,会直接发送地址

  • 将先确定TMP100的地址引脚设置,再按地址引脚设置确定TMP100的7位地址