This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to resolve NRF_ERROR_INTERNAL error in TWI communication?

Hi,

I'm using PCA10040 board, There i connected the fuel gauge IC via TWI communication. There pca10040 will acts as master and fuel gauge IC will acts as slave.

While Read and write we are getting "NRF_ERROR_INTERNAL" error and hangs there itself. If i give some delay (like 100ms) for each read and write its working fine.

That same fuel gauge setup i connected to some other controller (Master), There also i'm accessing via TWI communication. There without delay i can able to read and write the values.

After that i probed both the setups (PFA),

setup 1 : PCA10040 (Master) - Fuel Gauge IC (slave)

NORDIC.tar.bz2

setup 2 : Other Controller (Master) - Fuel Gauge IC (slave)

OTHER_CONTROLLER.tar.bz2

While comparing that, In Nordic setup, End of the each byte (after 9 clock cycles) SDA pulse goes high for some time. But in other controller not like that wherever data presents that time only it goes high.

Is that extra SDA pulse cause any issue ?

May i know why that SDA pulse goes high for some time in Nordic controller?

Thanks in advance,

Parents
  • Hi Hung Bui,

    The "twi_tx_start_transfer" function is throwing "NRF_ERROR_INTERNAL" error.

    I enabled debug prints in "twi_tx_start_transfer" and "twi_transfer" functions.

    In success case (with delay for each read and write) "twi_transfer" function returned false condition after writing all bytes (NRF_TWI_EVENT_STOPPED is stopped).

    In Failure case (without delay) "twi_transfer" function returned true condition continuously, so its hangs.

    May i know how to resolve this issue ?

    Thanks regards, -Naveen

Reply
  • Hi Hung Bui,

    The "twi_tx_start_transfer" function is throwing "NRF_ERROR_INTERNAL" error.

    I enabled debug prints in "twi_tx_start_transfer" and "twi_transfer" functions.

    In success case (with delay for each read and write) "twi_transfer" function returned false condition after writing all bytes (NRF_TWI_EVENT_STOPPED is stopped).

    In Failure case (without delay) "twi_transfer" function returned true condition continuously, so its hangs.

    May i know how to resolve this issue ?

    Thanks regards, -Naveen

Children
No Data
Related