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.
为什么我用硬件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信号发出后,主机是不会接受响应的,会直接发送地址