chipKIT® Development Platform

Inspired by Arduino™

I2C Wire write hangs

Created Sun, 28 Feb 2016 17:33:20 +0000 by js353


js353

Sun, 28 Feb 2016 17:33:20 +0000

Hi,

Trying to figure out why a simple program hangs strait away trying to perform I2C comms using Wire. The following program hangs on the first Wire::write call. Debugging further, I isolated the place where the hanging occurs at/around line 314 in DTWI.cpp pregIec->set = bitMASK;

The program I am using is the following, on chipkit-core 1.1.0.

#include <Wire.h>

void setup()   {    
  Serial.begin(9600);
  Wire.begin();
}

void loop() {
  delay(1000);
  Wire.beginTransmission(0x3C);
  Wire.write(0x00);
  Wire.write(0xAE);
  Wire.endTransmission();
}

This happens on a DP32 or a UC32. Both of them work perfectly using an alternative I2C library communicating to an OLED I2C screen.

Did anybody experience this very issue? The is small enough, Am I missing something? Thank's in advance.

Alternatively, is there a simple Wire test suite I could execute?


shivensys

Tue, 01 Mar 2016 02:12:03 +0000

Hi,

Take a look at this reply to an earlier topic it worked for me. I am not sure if the fix got into the latest build.

http://chipkit.net/forum/viewtopic.php?f=7&t=3585#p14766

Patrick