Tool/software: Code Composer Studio
Hello
I'm trying to use a temperature sensor(PCT2075) by MSP430
To get a temperature, I get a 2bytes from this sensor.
Howerver, I got just two same value. I think that it is MSByte.
I wrote a code from this link.
I'm using MSP430F249. so I modified a code from this link.
void i2c_read_multi(uint8_t slv_addr, uint8_t reg_addr, uint8_t l, uint8_t *arr) { uint8_t i; while(UCB0STAT & UCBBUSY); UCB0I2CSA = slv_addr; // set slave address UCB0CTL1 |= UCTR | UCTXSTT; // transmitter mode and START condition. while(UCB0CTL1 & UCTXSTT); UCB0TXBUF = reg_addr; while(!(UCB0CTL1 & UCTXSTT)); UCB0CTL1 &= ~UCTR; // receiver mode UCB0CTL1 |= UCTXSTT; // START condition while(UCB0CTL1 & UCTXSTT); // make sure start has been cleared for (i = 0; i < l; i++) { while(!(IFG2 & UCB0RXIFG)); if(i == l - 1){ UCB0CTL1 |= UCTXSTP; // STOP condition } arr[i] = UCB0RXBUF; } while(UCB0CTL1 & UCTXSTP); }