sandeepmistry/arduino-nRF5

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

Open

#261 opened on Mar 13, 2018

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C (288 forks)github user discovery
help wantedquestion

Repository metrics

Stars
 (952 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

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?

Contributor guide