-         

Ergebnis 1 bis 10 von 10

Thema: Midi Signal Einlesen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2004
    Beiträge
    13

    Midi Signal Einlesen

    Anzeige

    Moin,

    bevor ich Mecker bekomme, ich habe die Suche schon benutzt und so weit ich weiß alle artikel die damit zu tun haben studiert.

    als hardware benutze ich momentan ein mega8 und ein pc817er als Optokoppler. ich habe auch schon den vorwiderstand verringert da der 817er etwas mehr strom benötigt als der cnx35.

    Momentan empfange ich mit diesem Code nur Dec 252 und beim drücken einer taste kurz irgend einen anderen wert. ich bin davon ausgegangen das nur beim drücken einer taste ein signal geschickt wird und nicht permantent etwas rein kommt.
    könnt ihr mir da mal auf die sprünge helfen.

    Gruß Thomas

    Code:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 31250
    
      Config Lcd = 20 * 4
      Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , Rs = Portc.5 , E = Portc.4
      Config Lcdbus = 4
    
    
      Enable Urxc
      Enable Interrupts
    
      On Urxc Onrxd
    
      Dim Char_buffer As Byte
    
    Cls
    
    Do
    
    Loop
    
    
    Onrxd:
      Char_buffer(1) = Udr
      Lcd Char_buffer(1)
    Return

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Hallo Thomas,

    Versuche mal 38400 Baud.

    Gento

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2004
    Beiträge
    13
    Gut das auch der Rainer hier zu hause ist.
    ich werds mal ausprobieren, hast du damit schon mal was gemacht?

    gruß thomas

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2004
    Beiträge
    13
    mhhh...
    das bringt auch nix, jetzt empfange ich halt dec 248. das hats nicht gebracht
    mich verwundert noch das keiner die interruptroutine des urts benutzt hat. aber daran kann es doch nicht liegen.
    ist evt der optokoppler zu langsam?

    gruß thomas

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    Versuche mal :MIDI-Standard ist eine Wortlänge von 8 Bit, kein Parity-Check und 2 Stop-Bits.

    Die Baudzahl ist normal 32150.
    38400 kann man verwenden wenn die Daten vom PC kommen.

    Gento

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2004
    Beiträge
    13
    Wie stell ich das in Bascom ein?

    Naja ich habe einmal Midi vom PC geschickt und einmal von einem DMX Pult mit MidiOut. von beiden bekam ich das selbe ergebniss. ich denke die 32150 passen schon.
    Welche Software eignet sich denn gut zum Testen?

    Gruß thomas

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.01.2004
    Alter
    28
    Beiträge
    645
    Schau mal nach MIDI OX....
    http://www.midiox.com/
    MfG Xtreme
    RP6 Test - alles zum Nachfolger des bekannten RP5 im neuen RP6 Forum!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2004
    Beiträge
    13
    ich weiß auch nicht weiter. ich bekomme einfach nicht die werte die vom pc geschcitk werden. es liegt entweder am optokppler oder am internen ozilator den ich auf 8MHz gestellt habe.

    Gruß thomas

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    10.11.2004
    Beiträge
    13
    Moin,

    da ich es auch nicht mag wenn beiträge ohne ergebniss bleiben hier die lösung.
    habe mir einen pc900 optokoppler besorgt und siehe da es läuft.
    der 817 hat anscheinend eine zu geringe schaltfrequenz.

    gruß thomas

  10. #10
    Hmmm, komme hier gerade zufällig vorbei und einiges ist mir aufgestoßen:
    1. Die MIDI Baudrate ist 31250 Baud! Klappt mit 8MHz prima. (Vorteiler 256)
    2. Auf dem Bus wird regelmäßig eine 248 gesendet (Timing Clock xF
    Ist also korrekt. Muß man ausfiltern wenn nicht benötigt.
    3. Der Strom durch die Optokoppler Diode sollte 20mA (Schleifenstrom) betragen.
    4. Es gehen PC800, PC900 und CNY17 prima.

    Hier mal ein paar Status und MIDI Signale:

    Status (n = MIDI Kanal) Wert 1 Wert 2
    Note Off $8n 1000nnnn Key Number Velocity
    Note On $9n 1001nnnn Key Number Velocity
    Polyphon Pressure $An 1010nnnn Key Number Wert
    Control Change $Bn 1011nnnn Controller Wert
    Program Change $Cn 1100nnnn Program Number
    Channel Pressure $Dn 1101nnnn Wert
    Pitch Bend $En 1110nnnn LSB MSB

    Status Wert 1 Wert 2
    System Exclusive $F0 11110000 Daten EOX
    MIDI Time Code - MTC $F1 11110001 Wert
    Song Position Pointer $F2 11110010 LSB MSB
    Song Select $F3 11110011 Song
    Tune Request $F6 11110110 Wert
    End of Exclusive - EOX $F7 11110111

    Status
    Timing Clock $F8 11111000
    Start $FA 11111010
    Continue $FB 11111011
    Stop $FC 11111100
    Active Sensing $FE 11111110
    System Reset $FF 11111111

Berechtigungen

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