Hi, when trying to read a register from a chip using the IIC interface,blocking mode:
uint32_t ms5837_cmd_read(uint8_t *data, uint8_t length, uint8_t register_address)
{
uint32_t err_code;
err_code = nrf_drv_twi_tx(&m_twi_ms_5837, MS5837_TWI_ADDR, ®ister_address , 1, true);
if (NRF_SUCCESS == err_code)
err_code = nrf_drv_twi_rx(&m_twi_ms_5837, MS5837_TWI_ADDR, data, length, false);
APP_ERROR_CHECK(err_code);
return err_code;
}
I always get the "enternal error", 0x03.
I looked up the register and found this:
As you can see, there is an ANACK error, suggesting there isn't an ACK after address write.
What should I do to solve this???
Help!!!!
@endnode can you please provide a little insight?