Moin
Ich spiel grad ein bisschen mit MIDI rum, klappt theoretisch auch, aber halt nur theoretisch.
Folgendes Problem:
Das funktioniert einwandfrei:
Code:
$regfile = "M16def.dat"
$crystal = 16000000
Baud = 31250
Config Pind.5 = Output
Config Pind.6 = Output
Do
Print Chr(&Hb1) ; Chr(&H3) ; Chr(&H7f);
toggle portd.5
wait 1
Print Chr(&H91) ; Chr(&H60) ; Chr(&H7f);
toggle portd.6
wait1
Loop
End
Alles wird wünderschön empfangen und die LED schaltet um.
Aber wenn ich die Codes nach einem Tastendruck senden will, geht gar nichts mehr.
Code:
$regfile = "M16def.dat"
$crystal = 16000000
Baud = 31250
Config Pind.2 = Input 'taste1
Config Pind.3 = Input 'taste2
Config Pind.4 = Input 'taste3
Config Pind.5 = Output 'led
Config Pind.6 = Output 'led2
Do
Debounce Pind.2 , 1 , Taster1 'taster entprellen
Debounce Pind.3 , 1 , Taster2
Debounce Pind.4 , 1 , Taster3
Loop
End
Taster1:
Print Chr(&Hb1) ; Chr(&H3) ; Chr(&H7f);
Toggle Portd.5
Return
Taster2:
Print Chr(&Hb1) ; Chr(&H12) ; Chr(&H0);
Toggle Portd.6
Return
Taster3:
Print Chr(&H91) ; Chr(&H60) ; Chr(&H7f);
Return
Am Interface blinkt zwar die MIDI-In Lampe, aber am PC kommen keine gültigen Midi-Daten an.
Auch funktioniert das umschalten der LED nur sporadisch.
Wenn ich Interrupts benutze geht es auch nicht.
Wenn ich eine If-Abfrage benutze, kommt zwar manchmal was an, aber oft nicht das richtige, oder es wird zuviel oder zu wenig gesendet.
Mfg und schon mal danke für die Hilfe
Lesezeichen