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

Internal Clock TWI issue

I have an issue with the internal clock setting, and TWI. My custom board has an issue with the external crystal. So I switched to internal crystal with the following settings:

NRF_SDH_CLOCK_LF_SRC  0
NRF_SDH_CLOCK_LF_RC_CTIV 2
NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 22

BLE radio is working, however SCL, SDA line is just high. Is there any setting for the TWI driver to ensure that the internal clock is used?

Parents
  • How have you enabled the TWI? Did you test the TWI (your application) on a DK? Does it work there? Are you sure that you have not set up the TWI wrong, rather than clock settings?

    BR,

    Edvin

  • Hi Edvin,

    My Twi init config is as follows:

    twi_config = {
           .scl                = 26,
           .sda                = 27,
           .frequency          = NRF_DRV_TWI_FREQ_100K,
           .interrupt_priority = APP_IRQ_PRIORITY_LOW,
           .clear_bus_init     = true
        };

    It works in another Custom board with the same configuration and a functioning external crystal, so I assumed it maybe a crystal issue. I just checked with the DK and it works. So it's not due to the internal oscillator I guess.

    I get the NRF_ERROR_DRV_TWI_ERR_ANACK err_code i.e. 0x8201 on the custom board.

    Can you suggest where to troubleshoot? Should I check the pullup resistors?

    Cheers,

    Vijay

Reply
  • Hi Edvin,

    My Twi init config is as follows:

    twi_config = {
           .scl                = 26,
           .sda                = 27,
           .frequency          = NRF_DRV_TWI_FREQ_100K,
           .interrupt_priority = APP_IRQ_PRIORITY_LOW,
           .clear_bus_init     = true
        };

    It works in another Custom board with the same configuration and a functioning external crystal, so I assumed it maybe a crystal issue. I just checked with the DK and it works. So it's not due to the internal oscillator I guess.

    I get the NRF_ERROR_DRV_TWI_ERR_ANACK err_code i.e. 0x8201 on the custom board.

    Can you suggest where to troubleshoot? Should I check the pullup resistors?

    Cheers,

    Vijay

Children
Related