sandeepmistry / arduino-nRF5

Arduino Core for Nordic Semiconductor nRF5 based boards
Other
873 stars 278 forks source link

NRF52 - I2C, hight power consumption after Wire.end() #261

Open CimbaloMecoil opened 6 years ago

CimbaloMecoil commented 6 years ago

Hi, I'm using I2C in a low power solutions. I tried to disable I2C after using it but I obtain strange hight power consumption behaviour. I'm using the following code:

#include <Wire.h>

void setup() {
  // start of I2C block
  Wire.begin();
  Wire.beginTransmission(0x19);
  int8_t ret = Wire.endTransmission();
  Wire.end();
  // end of I2C block
}

void loop() {
  NRF_POWER->TASKS_LOWPWR = 1;
  __WFE();
  // Make sure any pending events are cleared
  __SEV();
  __WFE();
}

On my board the consumption with the I2C block of code is 0,78 mAh when I remove the block I obtain 0,36 mAh.

Any suggestion on how to reduce the consumption?

Omemanti commented 5 years ago

does might this post help? https://github.com/sandeepmistry/arduino-nRF5/issues/291