Midi senden AVR - Bascom

Seiten: (1)
Zurück zur Übersicht

4Bastler

11.06.13 00:02

Hallo,

ich versuche mir gerade ein kleines MidiFloorboard zu bauen, mit 4 tastern, um damit sowohl meine Marshall 410 und meinen Behringer V-amp zu steuern (presetwechsel).
Dem Marshall Manual (S. 5) entnehme ich, dass der Presetwechsel über Midi Changes ausgelöst wird.
Mir ist jedoch überhaupt nicht klar, wie das Midi Signal funktionier und wie ich mit Bascom diese Midi Changes realisieren soll ..

Hier ist der bisherige Code :

$regfile = "m16def.dat" ' Verwendeter M C (Atmega16)$crystal = 1000000 ' 1 MHz$baud = 31250 ' MIDI-Baudrate  (31,25kBit)'----------- Variablen -----------------Dim Psnb As Integer 'Preset Number (aktuell)'---------------------------------------'----------- Input/Output --------------L1 Alias Portc.7L2 Alias Portc.6L3 Alias Portc.5L4 Alias Portc.4T1 Alias Pina.0T2 Alias Pina.1T3 Alias Pina.2T4 Alias Pina.3'---------------------------------------'----------- Config --------------------Config T1 = InputConfig T2 = InputConfig T3 = InputConfig T4 = InputConfig L1 = OutputConfig L2 = OutputConfig L3 = OutputConfig L4 = Output'---------------------------------------'---------- Init -----------------------Psnb = 0 'Preset Nubmer leerDdrd.1 = 1 ' Sendeleitung auf OutputPorta.0 = 1 ' internen Pull -Up aktivieren für TasterPorta.1 = 1 ' internen Pull -Up aktivieren für TasterPorta.2 = 1 ' internen Pull -Up aktivieren für TasterPorta.3 = 1 ' internen Pull -Up aktivieren für Taster'---------- Visual Startup -------------L1 = 1 ' Alle LED's an L2 = 1L3 = 1L4 = 1Wait 5L1 = 0 ' Alle LED's au sL2 = 0L3 = 0L4 = 0'---------------------------------------'---------- Mainprogramm ---------------Do If T1 = 0 Then Psnb = 1 Gosub Setled '--> midichange 1 ElseIf T2 = 0 Then Psnb = 2 Gosub Setled '--> midichange 2 Elseif T3 = 0 Then Psnb = 3 Gosub Setled '--> midichange 3 Elseif T4 = 0 Then Psnb = 4 Gosub Setled '--> midichange 4 End IfLoop'---------------------------------------'---------- Subprogramm ----------------Setled: Select Case Psnb Case 1 : L1 = 1 L2 = 0 L3 = 0 L4 = 0 Case 2 : L1 = 0 L2 = 1 L3 = 0 L4 = 0 Case 3 : L1 = 0 L2 = 0 L3 = 1 L4 = 0 Case 4 : L1 = 0 L2 = 0 L3 = 0 L4 = 1 End SelectReturn'---------------------------------------


shaun

11.06.13 00:20

1. Wo ist die Frage?
2. Wo ist in dem Code irgendeine Funktion realisiert, die man diskutieren könnte?

Da musst Du wohl ein bisschen Vorarbeit leisten
Einfach mal nachgoogeln, wie die Midi-Messages aussehen müssen, die Du brauchst. Ist ja nix weiter als ein paar Bytes nacheinander zu senden.

Zurück zur Übersicht
Seiten: (1)