工具/软件:Code Composer Studio
void i2cReceive (uint8_t regAddress、uint8_t buffer、uint8_t buffersize){
uint8_t i;
EUSCI_B_I2C_setSlaveAddress (EUSCI_B0_BASE、LTC2943_SLAVE_ADDRESS);
EUSCI_B_I2C_setMode (EUSCI_B0_BASE、EUSCI_B_I2C_Transmit 模式);
EUSCI_B_I2C_ENABLE (EUSCI_B0_BASE);
while (EUSCI_B_I2C_Sending = EUSCI_B_I2C_masterIsStopSent (EUSCI_B0_BASE));
EUSCI_B_I2C_masterSendStart (EUSCI_B0_BASE);
//切换到接收器模式
EUSCI_B_I2C_setMode (EUSCI_B0_BASE、EUSCI_B_I2C_Receive_mode);
for (i=0;<bufferSize; i++){
缓冲区= EUSCI_B_I2C_masterReceiveMultiByteNext (EUSCI_B0_BASE);
Buffer++;
}
EUSCI_B_I2C_masterReceiveMultiByteStop (EUSCI_B0_BASE);
}
这是从特定寄存器读取的函数之一:
uint8_t getControl(){ uint8_t CONTROL = 0; i2cReceive (control_address、control、sizeof (control)); 返回控制; }
while (EUSCI_B_I2C_Sending = EUSCI_B_I2C_masterIsStopSent (EUSCI_B0_BASE));
EUSCI_B_I2C_slaveGetData() 、每次返回255个函数。