Kann mir echt keiner weiter helfen?
Ich habe ein einfaches Programm geschrieben um eine Note per MIDI zu senden. Das klappt auch wunderbar. Der MIDI Kanal ist hier in meinem Beispiel fix auf 1 gestellt. Wie kann ich den hinteren Teil des Binärcodes durch eine Variable ersetzen (die letzten 4 Stellen sind für den MIDI Kanal verantwortlich)?
&B10010000 (Note on auf MIDI Kanal 1)
&B1001xxxx (xxxx= MIDI Kanal)
Meine zweite Frage wäre dann noch wie ich eine Dezimalzahl in eine Binäre konvertieren kann.
Hoffe es kann mir jemand mit einem kurze Beispiel helfen. Habe das jetzt Stunden probiert hinzubekommen.
Hier mein Code:
Noteon = &B10010000
Noteoff = &B10000000
Velo127 = &B01111111
Note = &B00111100
Cls
Cursor Off
Do
Warteaufnote:
Locate 1 , 1
Lcd "Warte auf Note "
Debounce Pind.2 , 0 , Spielenote
Loop
Spielenote:
If Pind.2 = 0 Then
Goto Noteon
Else
Goto Noteoff
End If
Noteon:
Locate 1 , 1
Lcd "Noten Nummer: " ; Note ; " "
Printbin Noteon
Printbin Note
Printbin Velo127
If Pind.2 = 1 Then
Goto Noteoff
End If
Goto Noteon
Noteoff:
Printbin Noteoff
Printbin Note
Printbin Velo127
Goto Warteaufnote
End
Kann mir echt keiner weiter helfen?
naja ..
Du hängst den Codierschalter an einen freien Port,
lässt ihn gegen Masse (GND) schalten
zB.: PortB, und schaltest die Pull-Ups ein
und liest den Wert in eine Variable zB. "Kanal"
Dann frägst du Ganze am Besten in einer Schleife ab:
config portb=input
portb=&B00001111 (4 Bit sollten dir ja reichen)
Abfrage:
kanal=0
if pinb.0=0 then kanal=kanal+1
if pinb.1=0 then kanal=kanal+2
if pinb.2=0 then kanal=kanal+4
if pinb.3=0 then kanal=kanal+8
noteon=noteon and &B11110000 'die niedrigsten 4 bit löschen
noteon=noteon + kanal 'und den Kanal dazu tun
return
.. gibt sicher noch andere Möglichkeiten
Das gibt viel Code.
PortB defineren wie @jojo3 gesagt hat
Dann:
Code:Kanal = PINB AND &H0F Kanal = KANAL OR &HC0
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Nene, das ist so nichts.
1. Steht im Manual die Konvertierung von Zahlenformaten in andere, such mal nach "BIN" und wenns das nicht ist, folge den Links unten (Binval?).
2. Kannst du den Miikanal auch direkt aus dem ersten gesendeten "Note-On" auslesen und bis zum Reset verwenden, ich machs so...
MFG
Es geht hier aber um ein Programm welches Noten sendet. Da kannst du keinen Kanal auslesen sondern mußt ihn schon selber bestimmen.Zitat von 1hdsquad
Danke für eure Hilfe (jojo3 und Picnick)!!
Bin jetzt schon erheblich weiter gekommen
Oh, shit, nicht aufgepasst...
Lesezeichen