further implementation of i2c communication

pull/99/head
RobertGawron 2019-07-28 15:59:15 +01:00
rodzic b1664b4f76
commit d6c651c8c1
1 zmienionych plików z 24 dodań i 4 usunięć

Wyświetl plik

@ -30,7 +30,7 @@ void VoltageSensorActualValue_Init()
bool VoltageSensorActualValue_GetMeasurementData(VoltageSensorActualValue_MeasurementData_t *measurementData)
{
*measurementData = getRegisterValue(0x03);
*measurementData = getRegisterValue(0x0);
if (*measurementData == 0)
{
@ -76,11 +76,31 @@ uint8_t getRegisterValue(uint8_t registerId)
I2C_SendData(registerId);
while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
//while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED));
// I2C_GenerateSTOP(ENABLE);
// while(I2C_GetFlagStatus(I2C_FLAG_BUSBUSY));
I2C_GenerateSTART(ENABLE);
while(!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECT));
I2C_Send7bitAddress(I2C_SLAVE_ADDRESS, I2C_DIRECTION_RX);
while(!I2C_CheckEvent(I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED));
UserInterface_ShowMessage(USER_INTERFACE_COLLECTING_DATA_MSG);
I2C_AcknowledgeConfig(DISABLE);
I2C_GenerateSTOP(ENABLE);
while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_RECEIVED));
registerValue = I2C_ReceiveData();
I2C_GenerateSTOP(ENABLE);
while(I2C_GetFlagStatus(I2C_FLAG_BUSBUSY));
I2C_AcknowledgeConfig(ENABLE);
// I2C_GenerateSTOP(ENABLE);
// while(I2C_GetFlagStatus(I2C_FLAG_BUSBUSY));
return registerValue;
}