- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Midi über Uart

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.03.2004
    Beiträge
    121

    Midi über Uart

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo, ich glaube ich habe das Thema erst in das falsche Forum geposted. Bitte um entschuldigung..........
    Mein Problem ist das richtige empfangen und analysieren eines Midi-Signals über die Uart. Irgendwie beckomme ich das nicht hin. Kann mir einer von Euch helfen ? Währe super !!!


    Danke !

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    MIDI geht mit Optokoppler und einer Baudrate von 31250 , sonst normal.
    (8-Bit, Noparity, 1 Stop)
    Hardware:
    https://www.roboternetz.de/wissen/in...MIDI-Interface

    Über den Aufbau der "MIDI Messages" schau mal bei Google, Massen von Seiten.

    Wenn dann noch Fragen sind, dann frag' nur
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.03.2004
    Beiträge
    121
    Ja, habe einen Optokoppler eingesetzt. Hier mal meinen Code :

    $regfile = "m16def.dat"
    $crystal = 12000000
    $baud = 31250
    Baud = 31250
    Dim I As Byte
    Cls

    Do
    If Usr.rxc = 1 Then
    I = Udr
    Locate 1 , 1
    Lcd I ; " "
    End If
    Loop
    End

    Ich beckomme immer die selben Werte, egal was ich für eine Taste am Keyboard drücke.
    Manchmal auch nur eine "00000010"

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    invertiert der Optokoppler?

    Gruß
    Christopher

  5. #5
    Gast
    Es ist ein 6N138, ich glaube nicht..........

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,
    hast Du schon mal geschaut wie das MIDI-Protokoll in etwa aufgebaut ist ?
    Wenn du alle Bytes an die gleiche Stelle auf dem LCD schreibst, werden die verhergehenden ja immer überschrieben, denn es werden auch mal mehr Bytes pro Übertragung gesendet, und nur das letzte angezeigt !

  7. #7
    Gast
    Das ist ja mein problem, das ich nicht weis, wie ich mit der UART richtig empfangen kann, und wie ich die Bytes auseinander nehmen kann zur weiteren verarbeitung.

  8. #8
    Gast
    Hallo, ich habe nun mal folgendes ausprobiert. Ich wollte die 3 Bytes hintereinander Lesen, und beckomme auch werte rein, aber recht durcheinander. Wenn ich keine taste drücke, erhalte ich 3 mal 254 ????Muß ich das noch irgendwie Syncronisieren ? Wenn ja wie ?


    $regfile = "m16def.dat"
    $crystal = 12000000
    $baud = 31250

    Dim I(3) As Byte
    Cls

    Do

    I(1) = Udr
    I(2) = Udr
    I(3) = Udr
    Locate 1 , 1
    Lcd Bin(i(1))
    Locate 2 , 1
    Lcd I(2)
    Locate 3 , 1
    Lcd I(3)

    Loop

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo Gast,

    Du musst schon zwischendurch abfragen ob überhaupt ein neues Byte angekommen ist, so wie jetzt wird 3mal der gleiche Wert in die 3 Variablen übernommen.

    Schau Dir mal dazu den Befehl Inkey() an.

  10. #10
    Gast
    Wo muß der Befehl hin ? Oh mann, ich hab keine ahnung, wie ich die Bytes richtig über die UART einlesen kann. Ich weis nur, das es 3 Bytes sind, wovon das erste das Statusbyte ist und kanal nummer, das zweite die Notennummer und das dritte die Lautstärke enthällt.
    Brauche dringend Hilfe !!!
    Gibt es da irgendwo ein Beispiel ???

    Danke !

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests