Midi mit Atmega32 senden

Gast #814799
Lesenswert?

Hallo,

ich brauche Hilfe beim programmieren zum senden von Midi-Daten!
Meine Schaltung(Testschaltung) besteht aus einem Atmega32, 2 
Taster(jeweils ein Pin,wenn gedrückt dann High-Signal) und einem 
Piezo-Taster(Auch High-Signal auf einem Pinn, wenn gedrückt)
Als Software benutze ich Bascom-AVR.

Aufgabe der Schaltung ist es,
wenn Piezo und Taster 1 gdrückt sind, dann soll z.B. der Ton c 
ausgegeben werden
und wenn Piezo und Taster 2 gedrückt sind, dann soll z.B. ein g 
ausgegeben werden.
Der Piezo soll jeweils die Anschlagstärke angeben.

Wie die unterschiedlichen Midi-Befehle ausehen, findet man ja im 
Internet.
Ich habe auch schon zwei Led's durch betätigen der Taster zum leuchten 
gebracht....also Atmega und Schaltung funktionieren schonmal.

Bei der Midi-Ausgabe komme ich aber absolut nicht weiter. Die Themen wie 
für den Midi-Rekorder haben mir auch nicht weiter geholfen.
Ich finde einfach keinen Anfang, da ich nicht durchblicke, wie sowas aus 
zu sehen hat...

Wenn sich jemand mal die Mühe macht und einem Anfänger grob das Vorgehen 
erklären könnte,
oder vieleicht sogar den code für mein Beispiel hier rein schreibt,
wäre ich überaus dankbar!!!

Liebe Grüße

Karsten
Gast #814943
Lesenswert?

Wie du bestimmt weißt, ist MIDI ein serielles Protokoll mit 31,25kBaud.
8 Bit, noParity, 1 Stopbit.

>Wie die unterschiedlichen Midi-Befehle ausehen, findet man ja im
>Internet.

Alles, was du tun mußt: die entsprechenden Befehle über die
serielle Schnittstelle senden.
Gast #1108697
Lesenswert?

Hallo,

hätte dazu auch noch eine Frage.
Kann ich einfach in Bascom die baudrate auf 31250 setzte und die Start 
Stop sonstwas bits alle deaktiviere und dann das Midi Signal über die 
UART senden, oder muss ich da sonst noch was ändern??
Bzw geht das dann ganz normal mit dem #print# Befehl ??

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren