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

How to wakeup from I2C CLK?

Hello,

I am currently using the TWIS (slave!) peripheral to get data from a I2C master. Now I would like the ability to place the nRF52 in deep sleep mode with sd_power_system_off() until the master tries to communicate over I2C. Is it possible to use the I2C-CLK signal to wake up the nRF52? If so, how could I do it?

Thanks in advance for your help.

Parents
  • Hello,

    OK, I will try to disable the I2C peripheral and use the pin as a normal GPIO wake up. I can't add additional line for wake up, but I can make in sort that the master initiates a dummy read request in order to wake up and wait until the nRF52 has initialized the I2C slave.

    I will try to use the bsp_wakeup_buttons_set() function as example to wakeup from GPIO pin state change.

    For disconnecting the peripheral, is nrf_drv_twis_disable() enough or shall I also call nrf_drv_twis_uninit()?

  • Don't know - take a look at the code - since you are putting the system into system off mode as long as the peripheral is disabled enough to let go of the pins should work. When the chip goes off, that happens anyway so it's quite possible you don't have to do anything except turn off.

Reply Children
No Data
Related