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.

HDC1050 didn't receive data

Other Parts Discussed in Thread: HDC1050, TMP75

Following the guide figure,I wrote some codes,the sensor hdc1050didn't received data of temperture and humidity.MCU is msp432.

and application always cycle around at the sentence“MAP_I2C_masterSendMultiByteNext...”“

Here are  snippets and the guide figure.

#include "driverlib.h"
#define SLAVE_ADDRESS 0x40            //hdc1050 address        
volatile uint8_t msb,lsb;                        
const eUSCI_I2C_MasterConfig i2cConfig =
{
        EUSCI_B_I2C_CLOCKSOURCE_SMCLK,          
        3000000,                                
        EUSCI_B_I2C_SET_DATA_RATE_400KBPS,      
        0,                                     
        EUSCI_B_I2C_NO_AUTO_STOP                
};

  int main(void)
  {   
    
      MAP_WDT_A_holdTimer();
      MAP_CS_setDCOCenteredFrequency(5000000);
      MAP_CS_initClockSignal(CS_SMCLK, CS_DCOCLK_SELECT, CS_CLOCK_DIVIDER_1 );
      MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P6,
              GPIO_PIN4 + GPIO_PIN5, GPIO_PRIMARY_MODULE_FUNCTION);
     
  MAP_I2C_initMaster(EUSCI_B1_MODULE, &i2cConfig);
  MAP_I2C_setSlaveAddress(EUSCI_B1_MODULE, SLAVE_ADDRESS);
    MAP_I2C_enableModule(EUSCI_B1_MODULE);
      MAP_I2C_setMode(EUSCI_B1_MODULE, EUSCI_B_I2C_TRANSMIT_MODE);
    MAP_I2C_masterSendStart(EUSCI_B1_MODULE);
     MAP_I2C_masterSendMultiByteNext(EUSCI_B1_MODULE,0x02); //pointer register address
       MAP_I2C_masterSendMultiByteNext(EUSCI_B1_MODULE,0);        
     MAP_I2C_masterSendMultiByteNext(EUSCI_B1_MODULE,0);
     MAP_I2C_masterSendMultiByteStop(EUSCI_B1_MODULE);
     
     MAP_I2C_setSlaveAddress(EUSCI_B1_MODULE, SLAVE_ADDRESS);

      MAP_I2C_setMode(EUSCI_B1_MODULE, EUSCI_B_I2C_TRANSMIT_MODE);
     MAP_I2C_masterSendSingleByte(EUSCI_B1_MODULE,0x01);  //temperature register

      MAP_I2C_setMode(EUSCI_B1_MODULE, EUSCI_B_I2C_RECEIVE_MODE);
     MAP_I2C_setSlaveAddress(EUSCI_B1_MODULE, SLAVE_ADDRESS);
    
      MAP_I2C_masterReceiveStart(EUSCI_B1_MODULE);

      while (1)
      {  
      
       msb=I2C_masterReceiveMultiByteNext(EUSCI_B1_MODULE);
       while(MAP_I2C_isBusBusy(EUSCI_B1_MODULE)==EUSCI_B_I2C_BUS_BUSY);
    
       lsb=I2C_masterReceiveMultiByteNext(EUSCI_B1_MODULE);
      }
  }