Cannot get I2C to work
Greetings,
I am trying to read register 0x00 through 0x0F on an I2C enabled Chip (Si4703) I have got the reset set up and working but my I2C is not working as I am unfamiliar with the HAL protocols
I have created a number of variable pointers to store data
/* USER CODE BEGIN PV */
int16_t *DeviceID_ptr;
int16_t *ChipID_ptr;
int16_t *PowerCFG_ptr;
int16_t *Channel_ptr;
int16_t *SYSConfig1_ptr;
int16_t *SYSConfig2_ptr;
int16_t *ReadChan_ptr;
int16_t *StatusRSSI_ptr;
/* USER CODE END PV */
Fruther on in the main loop I am trying to get to read the data at just register 0x00
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
buf[0] = DeviceID_ptr;
/* USER CODE END WHILE */
// pass buffer as a character pointer
//strcpy((char*)buf, "Hello!\r\n");
//HAL_UART_Transmit(&hlpuart1, buf, strlen((char*)buf), HAL_MAX_DELAY);
//HAL_Delay(1000);
// save return values of errors
// transmit I2C values
ret = HAL_I2C_Master_Transmit(&hi2c2, SI4703_ADR, DeviceID_ptr, 1, HAL_MAX_DELAY );
if(ret != HAL_OK){
strcpy((char*)buf, "Error_Tx\r\n");
}
else
{
ret = HAL_I2C_Master_Receive(&hi2c2, SI4703_ADR, DeviceID_ptr, 2, HAL_MAX_DELAY );
if(ret != HAL_OK){
strcpy((char*)buf, "Error_Tx\r\n");
}
}
