Das geht aber mit DMA auch nicht so einfach. Da ja immer nur eine Instanz in den Speicher schreiben kann. Sind die Prioritäten entweder fest vorgegeben oder man muss sie vorgeben. Wenn nun das break gleichzeitig auftritt gibt es ein Problem, das sich dann so auswirkt das du das einlesen per DMA zu spät startetest und nur Käse im speicher ankommt. Auch wenn die Frames unterschiedlich lang sind muss ein Code damit umgehen können.
Du musst unbedingt jedes byte einzeln behandeln. Der Interrupt auslösende Teil sind nicht die Eingänge sondern der Ausgang und dessen byte Zyklus
Zu jedem Byte Zyklus werden die Daten und Statusregister ausgelesen und gleichzeitig verrechnet.
Die Anzahl der Interrupt sind dann nicht mehr wie bei einen Universum, die UART haben meist doppelbuffer also du hast zwei byte Zeit Register zu lesen bevor ein Überlauf auftritt -> manchmal auch 3. Die Eingänge sind relativ wurst du kannst auch 12 zusammen rechnen. Das geht mit einen AVR was anderes ist in den Merger vom Chinesen auch nicht drin
. Schreibt man den Zeitkritischen Teil auch noch in Assembler gelingt das ohne weiteres. Nur auf ein Display würde ich verzichten 