HotSystems:
Kein Problem, da ich aktuell keinen Schlips trage, fühle ich mich auch nicht draufgetreten.
Is ja auch Wochenende
HotSystems:
In deinem I2C-Master vermisse ich ein "Wire.beginTransmission(x);
Funktion:
void sendRPM(int x){
Wire.beginTransmission(slaveAddress); // begin transmission to slave device
Wire.write(x & 0xff); // send first byte
Wire.write(x >> 8); // send second byte shiftet by 8 bits
Wire.endTransmission(); // stop transmitting
}
Aufruf:
//calculate the RPM
if (ignitionCount > 20){
detachInterrupt(digitalPinToInterrupt(interPin1));//Disable interrupt when calculating
fCrank = (1/(((millis()-t)/ignitionCount)/1000.0));
rpm = fCrank * 60;
ignitionCount = 0;
// Serial.print("Crank frequency ");
// Serial.println(fCrank);
// Serial.print("RPM ");
// Serial.println(rpm);
// Serial.println("-------------");
sendRPM(rpm); ////////////////////////////// <-DA
//drive the LED-Bar
val = map(rpm, 0, 12000, 0, 8);
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data[val]);
digitalWrite(latchPin, HIGH);
attachInterrupt(digitalPinToInterrupt(interPin1),isIgnition,RISING);
t=millis();
}
Tommy56:
Der Mega wird als Master bezeichnet, fungiert aber als I2C-Slave. Er bekommt die Daten vom Nano (I2C-Slave) hin geknallt, egal ob er Zeit hat sie zu verarbeiten oder nicht. Besonders während der Delay(2000) kann er nichts verarbeiten. Nach weiteren Delays habe ich nicht gesucht.
Guter Einwand.
Das Delay ist übrigens weit und breit das einzige und ist nur dafür da, den Intro-Screen lange genug zu erhalten um ihn zu sehen
Diese if Schleife (?) wird, bedingt durch state = false; danach auch nie wieder durchlaufen.
Und in dem Pulsgeber ist nichtmal die Wire.h eingebunden.
Geschweige denn entsprechnder Code vorhanden.
Noch dazu ist er nicht an den I2C Bus angeschlossen, sondern direkt an die Interrupt-Pins vom Sensor.
Ich habe inzwischen auch neue Erkenntnisse.
Die U8g.lib scheint die Wurzel allen Übels zu sein.
Aber ich kann dazu noch nichts definitives sagen...bin noch am testen.
Da ich aber zum jetzigen Zeitpunkt bereits Daten auf dem Mega erhalte und auch auf dem Display dargestellt kriege kann man sagen, dass die Kommunikation also möglich ist.
Allerdings noch sehr hakelig.
Werde mich gleich nochmal melden.
Gruß
schUk0