工具/软件:Code Composer Studio
你好
我尝试使用 MSP430的温度传感器(PCT2075)
为了获得温度、我从该传感器获得2个字节。
howerver、我得到了两个相同的值。 我认为它是 MSByte。
我从该链接中编写了一个代码。
我使用的是 MSP430F249。 因此、我从 该链接修改了一个代码。
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; //设置从地址 UCB0CTL1 |= UCTR | UCTXSTT; //发送器模式和启动条件。 while (UCB0CTL1 & UCTXSTT); UCB0TXBUF = reg_addr; while (!(UCB0CTL1 & UCTXSTT)); UCB0CTL1 &=~UCTR; //接收器模式 UCB0CTL1 |= UCTXSTT; //起始条件 while (UCB0CTL1 & UCTXSTT); //确保已清除 (i = 0;i < l;i++){的启动 while (!(IFG2 & UCB0RXIFG)); if (i = l - 1){ UCB0CTL1 |= UCTXSTP; //停止条件 } ARR[i]= UCB0RXBUF; } while (UCB0CTL1 & UCTXSTP); }
