Konzept um serielle Midi-Sysex-Daten per Atmega zu verarbeiten

Gast #2081204
Lesenswert?
• ▲
▼
Hi zusammen,

ich bin gerade beim Bau eines Midi-Fußschalters.
Zur Konfiguration werden Mididateien an den Mikrocontroller (Atmega 128, 
16Mhz) gesendet.
Es gibt verschiedene Presets usw. die jeweils über eine Midinachricht 
übertragen werden.
Ein Preset schon eine Größe von ca. 270 Byte. Nach den ersten 15 Byte 
weiß ich was das für ein Sysex Befehl ist, welche Presetnr usw.
Ich möchte nun n-Presets gleichzeitig übertragen, also z.B. Preset 1-200 
-> 200 mal 270 Byte an Daten.
Die Presets werden in ein Atmega Dataflash AT45DB321 geschrieben.

Die Einzelübertragung funktioniert prima. BufferVariable, die dann 
nachträglich verarbeitet wird.
Ich bekomme es aber nicht hin, das so zu machen, das ich mehrere Presets 
direkt hintereinander empfangen kann (also n SYSEX Nachrichten 
verarbeiten), den buffer leerschreibe ins Dataflash. Eine bidirektionale 
Verbindung mit Handshake möchte ich nicht machen.

Wie ist das konzeptionell sonst am besten hinzubekommen? Wie puffere ich 
die Daten am besten, bzw. wie steuere ich das Wegschreiben am 
sinnvollsten?

Vielen Dank für eure Hilfe,
Sammy

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.