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

NRF52832 twi does not find ATECC508A

Cannot connect to ATECC508A through TWI with NRF52832. Tested with nRF5_SDK_12 twi_master and deprecated twi_sw_master. It was working fine only with NRF51822 nRF5_SDK_12 using deprecated twi_sw_master.

Parents
  • Pins are ok. Using latest SDK driver nrf_drv_twi.c code stays forever in loop

    while (!nrf_twim_event_check(p_twim, evt_to_wait))
            {
                if (nrf_twim_event_check(p_twim, NRF_TWIM_EVENT_ERROR))
                {
                    NRF_LOG_DEBUG("TWIM: Event: %s.\r\n",
                                  (uint32_t)EVT_TO_STR_TWIM(NRF_TWIM_EVENT_ERROR));
                    nrf_twim_event_clear(p_twim, NRF_TWIM_EVENT_ERROR);
                    nrf_twim_task_trigger(p_twim, NRF_TWIM_TASK_RESUME);
                    nrf_twim_task_trigger(p_twim, NRF_TWIM_TASK_STOP);
                    evt_to_wait = NRF_TWIM_EVENT_STOPPED;
                }
            }
    

    I check the bus with logic analyzer.

Reply
  • Pins are ok. Using latest SDK driver nrf_drv_twi.c code stays forever in loop

    while (!nrf_twim_event_check(p_twim, evt_to_wait))
            {
                if (nrf_twim_event_check(p_twim, NRF_TWIM_EVENT_ERROR))
                {
                    NRF_LOG_DEBUG("TWIM: Event: %s.\r\n",
                                  (uint32_t)EVT_TO_STR_TWIM(NRF_TWIM_EVENT_ERROR));
                    nrf_twim_event_clear(p_twim, NRF_TWIM_EVENT_ERROR);
                    nrf_twim_task_trigger(p_twim, NRF_TWIM_TASK_RESUME);
                    nrf_twim_task_trigger(p_twim, NRF_TWIM_TASK_STOP);
                    evt_to_wait = NRF_TWIM_EVENT_STOPPED;
                }
            }
    

    I check the bus with logic analyzer.

Children
No Data
Related