Hi - I am wondering what is the power optimal way to read/write with the TWI module. I do a tx and rx with the TWI interface. I have something like this, from the examples to read data from a i2c supported device:
// read from i2c device uint16_t timeout = 10000; nrf_drv_twi_tx(); while((!twi_tx_done) && --timeout); // twi_tx_done is in the twi_handler for NRF_DRV_TWI_XFER_TX event twi_tx_done = false; timeout = 10000; nrf_drv_twi_rx(); while((!twi_rx_done) && --timeout); // twi_rx_done is in the twi_handler for NRF_DRV_TWI_XFER_RX event twi_rx_done = false;
I am not sure if this is the most optimal way of waiting, since it's in a busy loop. Is there a better way to write this?