PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme mit midi-out



redremus
06.06.2005, 15:42
hallo ...
ich mache gerade meine ersten gehversuche mit der uart des atmega 8 und falle nur auf die nase :-)

ich will midi daten von meinem controller an den computer senden. ich nutze dafür die hardware uart des controllers. obwohl die baudrate stimmen müsste ( auf dem oszilloskop ist eine rechteckimpuls 32mu-s breit) kann der computer die Daten die übermittelt werden anscheinend nicht interpretieren. ich denke mal das es an der art liegt, wie ich der uart die daten übgebe ... wär schön wenn mir jemand ein wenig auf die sprünge helfen könnte

danke

hier mein code


$regfile = "m8def.dat"

$crystal = 1000000

$baud = 31250


Dim Voice As Byte
Dim Cntrnr As Byte
Dim Val As Byte

Config Portd.7 = Output

Voice = &B10110000 'control change: 1011, channel 0 : 0000
Cntrnr = &B00000011 'controller# 3 :
Val = &B00000100 'controllerwert 4 :

Do

Toggle Portd.7 'macht derr kollege was??
Print Voice 'senden der drei bytes
Print Cntrnr
Print Val

Loop

End

PicNick
06.06.2005, 16:05
Ich seh so keinen Fehler. ( wenn Crystal stimmt)
Midi event scheint mir auch ok.
Aber der PC muß Channel#1 oder OMNI aufgedreht haben
er muß mit Controller 3 was anfangen können (filter ?)
Probier doch erstmal irgendein Note-on, das nimmt jeder

PicNick
06.06.2005, 16:08
Noch was: Anschluß 4 u.5 auf dem Din stecker korrekt ?

redremus
06.06.2005, 16:27
ich hab hier so ein midi to usb box über die ich das mache und da blinkt die eingangsdiode. ich denke mal dann müssten die richtig herum sein --

PicNick
06.06.2005, 17:33
Ist ein gutes Argument.
Was für ein Programm hast du am PC ? Steinberger ? (der hat ja auch so eine Pseudo-LED)

06.06.2005, 22:54
ich hab mich jetzt nach einigem hin und her auf max/msp festgelgegt, da ich hier die ausgabewerte eines midi keybords lesen konnte und der midi eingang zu funktionieren scheint ..
ich habe jetzt gelesen das midi ein start und ein stopbit braucht, finde aber in dem compiler nirgendwo die einstellung ein startbit mitzusenden. wo sollte das auch hin ? vor und nach jedem byte oder vor und nach jeder message. ich glaube aber das irgendwo dort der hase im pfeffer liegen muss komm aber net dahinter ... danke schon mal für deine bemühungen bis her
gruß jan

PicNick
07.06.2005, 06:28
Bei den ganzen UART-Sachen im BasCom (print, inkey(), .. etc) ist das durch die Hardware schon berücksichtigt.
d.h. er garniert deine Daten ganz automatisch mit den richtigen Start- und Stopbits.
Das Midi-Format ist ganz standard: 1 Start-, 8 Daten-, 1 StopBit und 31250 Baud

EDIT: nochmals: wen die $crystal=1000000 Angabe stimmt, ist dein Programm völlig in Ordnung.
Versuch wirklich mal, die 4 u. 5 zu tauschen, ich mißtraue der LED am Usb-Kisterl.

redremus
07.06.2005, 17:49
es läuft ...
man mus die print X befehle durch printbin x befehle ersetzen der schein das dann anders zu codieren denk ich mal ...
vielleicht hilft das ja jemandem der das auch mal probieren will.
vielen dankl noch robert für den vergossenen schweiss!

gruß jan

PicNick
07.06.2005, 18:09
Brauchst dich nicht zu bedanken, das hätt ich auch gleich sehen können
](*,)
print voice ----> print chr(voice);

Alter Knacker
08.06.2005, 01:32
jo, vielen dank, robert!
wobei ich in meinem fall noch nicht weiss, ob ich auf dich hören soll und midi verwenden soll oder dmx512, wäre eventuell sogar besser, aber da quäle ich dich schon noch, wenns soweit ist *fg*
mfg knacki

PS: bitte tu den donald wieder weg, der ist ja ätzend.....