while (1)
{
rec0=MAP_I2C_masterReceiveMultiByteNext(EUSCI_B1_MODULE);
while(I2C_isBusBusy(EUSCI_B1_MODULE)&(EUSCI_B_I2C_BUS_BUSY ));
rec1=MAP_I2C_masterReceiveMultiByteNext(EUSCI_B1_MODULE);
MAP_I2C_masterReceiveMultiByteStop (EUSCI_B1_MODULE) ;
MAP_I2C_masterReceiveStart(EUSCI_B1_MODULE);
MAP_I2C_setSlaveAddress(EUSCI_B1_MODULE, SLAVE_ADDRESS);
MAP_I2C_setMode(EUSCI_B1_MODULE, EUSCI_B_I2C_RECEIVE_MODE);
}
//这是接收温度数据部分代码,按照tmp75说明来看,用12位精度输出,第二个温度字节的低4位应该是全为0的,为何接收到的rec0和rec1数据都很接近(rec=29,rec1=31)
灰小子:
建议先观察一下时序,确认一下时序是否正确
jin li7:
回复 灰小子:
时序没问题