SEQ303
.
Hallo,
ich möchte gern MIDI Clock mit dem Arduino (Teensy 3.1) auswerten. Die Hardware funktioniert.
Das senden von Daten hat geklappt. Jetzt möchte ich Midi Clock empfangen was auch schon geht.
StatusByte (248 ) Timingclock wird empfangen.
Um die genaue BPM zu ermitteln möchte ich gern die Zeit zwischen zwei Timestamps messen. Ich möchte die Zeit zwischen zwei Statusbytes mit 248 messen.
Beispiel:
Bei 120 BPM am Eingang sollten zwischen den beiden Statusbytes eine Zeit von (20833,333 Micos) liegen.
Es wird ja bei einem Takt 96 mal ein Byte mit 248 gesendet!
Aber wie schreibe ich den Code so, dass ich zwei Zeiten speichern kann?
if (StatusByte1_IN == 248)
{
Timestamp1 = micros();
}
Ich möchte gern Timestamp2 beim nächsten eintreffen von Statusbyte mit 248 setzten und dann rechnen. Aber wie ??? Hat jemand eine Vorschlag ?
Zeit =(Timestamp2 – Timestamp1)
In MIDIOX würde das so aussehen. siehe Bild!
Genau das was MIDIOX macht möchte ich mit dem Teensy auch.
Ich würde mich über Hilfe freunen
MFG Michael
ich möchte gern MIDI Clock mit dem Arduino (Teensy 3.1) auswerten. Die Hardware funktioniert.
Das senden von Daten hat geklappt. Jetzt möchte ich Midi Clock empfangen was auch schon geht.
StatusByte (248 ) Timingclock wird empfangen.
Um die genaue BPM zu ermitteln möchte ich gern die Zeit zwischen zwei Timestamps messen. Ich möchte die Zeit zwischen zwei Statusbytes mit 248 messen.
Beispiel:
Bei 120 BPM am Eingang sollten zwischen den beiden Statusbytes eine Zeit von (20833,333 Micos) liegen.
Es wird ja bei einem Takt 96 mal ein Byte mit 248 gesendet!
Aber wie schreibe ich den Code so, dass ich zwei Zeiten speichern kann?
if (StatusByte1_IN == 248)
{
Timestamp1 = micros();
}
Ich möchte gern Timestamp2 beim nächsten eintreffen von Statusbyte mit 248 setzten und dann rechnen. Aber wie ??? Hat jemand eine Vorschlag ?
Zeit =(Timestamp2 – Timestamp1)
In MIDIOX würde das so aussehen. siehe Bild!
Genau das was MIDIOX macht möchte ich mit dem Teensy auch.
Ich würde mich über Hilfe freunen
MFG Michael