ich versuche mich gerade am Empfang von Mididaten per USB mit Teensy 3.2 .
Zur Kontrolle empfangener NoteOn / Off Daten wird diie LED an PIN 13 ein- und ausgeschaltet.
Aber Du wertest die Parameter in der funktion nicht aus, sondern sagst nur :
digitalWrite (ledPin, HIGH);
oder
digitalWrite (ledPin,LOW);
Da Du in Deinen Funktionen keinerlei bedinungen stellst, nach welchem Wert die Led an oder aus sein soll, tut sie das eben bei jedem Aufruf der Funktion.
MIDI_empfangen_mit_LED:19: error: cannot convert 'int' to 'void(byte, byte, byte) {aka void(unsigned char, unsigned char, unsigned char)}' in assignment
assignment of function 'void OnNoteOn(byte, byte, byte)'
Schnelligkeit im schreiben oder programmeieren war noch nie meine Stärke.
Das einzig wirklich schnelle aus meiner Hand sind RC-Strassenfahrzeuge, elektrisch , etwas mehr als 184km/h. :o
BTW:
mit MidiOX kann ich von der PC Tastatur aus nur 100 bzw 64 als Velocity Wert senden.
Ist dort scheinbar fest vorgegeben...
Weiß jemand wie man das dort umstellt (auf 127 bzw 0) ?
stingray05:
mit MidiOX kann ich von der PC Tastatur aus nur 100 bzw 64 als Velocity Wert senden.
Ist dort scheinbar fest vorgegeben...
Weiß jemand wie man das dort umstellt (auf 127 bzw 0) ?
Die Frage wäre im MidiOX-Forum evtl. besser aufgehoben.
Funktioniert grundsätzlich, aber die LED bleibt nach dem senden der Daten solange an bis ein anderer CC Wert gesendet wird.
Was müsste geändert werden damit die LED nach senden von CC 20 value 100 aus geht, und erst bei erneuten senden des gleichen Wertes wieder eingeschaltet wird ?
void myControlChange(byte channel, byte control, byte value) {
static bool ledStatus = 0; // speichert den led status
if(channel == 1 && control == 20 && value == 100)
digitalWrite(ledPin, !ledStatus); // war die led vorher an, wird ausgeschaltet und umgekehrt
ledStatus = !ledStatus // neuen led status speichern
}
das static bei 'bool ledStatus' sorgt dafür, dass der wert von ledStstus beim verlassen von 'myControlChange' erhalten bleibt. Da ledStatus hir in der funktion definiert wurde, würde sie ohne static jedesmal neu mit 0 angelegt werden.