ich hab jetzt das hier gemacht:
Code:
#include <Wire.h>
byte I2CAdd;
byte I2CAdd_hex;
byte fehler;
boolean done = false;
//0x3F = 63
//0x27 = 39
void setup()
{
Serial.begin(115200);
Wire.begin();
}
void loop()
{
if (!done)
{
I2c_suche();
}
//weiterer code
}
void I2c_suche()
{
Wire.setClock(100000L);
for (I2CAdd = 28; I2CAdd < 64; I2CAdd++)
{
Wire.beginTransmission(I2CAdd);
fehler = Wire.endTransmission();
if (fehler == 0)
{
Serial.print("Baustein mit Adresse 0x");
Serial.print(I2CAdd, HEX);
Serial.println(" gefunden!");
I2CAdd_hex = (I2CAdd);
Serial.println(I2CAdd_hex, HEX);
done = true;
}
}
}
hier kann ich immerhin die "3F" ausdrucken, also ist eine übertragung in eine variable auch kein problem. Die LCD initislierung erwartet aber ein"0x3F" - wie mache ich das?
EDIT: es funktioniert auch mit "0x27"
Lesezeichen