This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

error for transmitting i2c buffer

Hi.

i use 

i call  i2c_write() and if the buffer is large(8kB) i get error in i2c transfer -5.

i go deeply and found that it is due too error -11:

ret = k_sem_take(&(get_dev_data(dev)->completion_sync),
				 I2C_TRANSFER_TIMEOUT_MSEC)

If i step into this function and then run the code there is no errors and the code executed well.

Thanks for help.

Parents
  • Hi,

    My recommendation would be to write the data in multiple smaller pieces.

    If that is not possible, you can try to edit the I2C_TRANSFER_TIMEOUT_MSEC parameter in zephyr/drivers/i2c/i2c_nrfx_twim.c to give the transfer more time to finish.

Reply
  • Hi,

    My recommendation would be to write the data in multiple smaller pieces.

    If that is not possible, you can try to edit the I2C_TRANSFER_TIMEOUT_MSEC parameter in zephyr/drivers/i2c/i2c_nrfx_twim.c to give the transfer more time to finish.

Children
Related