I2C Problem mit dem Arduino DUE
Hallo,
ich schreib zurzeit an einem Programm, mit dem die Position von Gebern ausgelesen werden. Als Schnittstelle benütze ich I2C, beim kleineren UNO funktioniert alles , beim DUE leider nicht. Wenn ich diesen I2C Scanner( nicht von mir ) darüber laufen lasse , findet er auch keine Adressen ... -.- beim UNO hats aber funktioniert.
Der 32 Bit ARM hat 2 getrennte I2C ports , fehlt mir ein Befehl muss ich die unabhängig von einandere ansprechen ? Google kann mir dazu leider nix sagen :mad:
Das Programm:
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for (address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address < 16)
Serial.print("0");
Serial.print(address, HEX);
Serial.println(" !");
nDevices++;
}
else if (error == 4)
{
Serial.print("Unknow error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
Gruß Dominik