Ich kenne zwar den Controller nicht, aber ganz ohne Interrupts wird's nicht gehen, wenn Du keine Nachrichten verpassen darfst.

Ist das ganze denn so zeitkritisch, dass das reine Einlesen der Nachrichten in einen Puffer im µC schon zu lange dauern würde? Du musst ja im Interrupt die Nachricht nicht schon auswerten, dass könntest Du ja per Polling machen.

Ansonsten könnte ich mir höchstens vorstellen, dass Du eine kleine Funktion schreibst, in der Du den Nachrichtenpuffer, der für die nächste zu empfangende Nachricht benutzt wird, einstellst. Diese Funktion rufst Du dann in allen Empfangs-Interrupts so auf, dass immer der nächste Puffer eingestellt wird. Spätestens nach der 16. Nachricht musst Du dann aber zwangsweise alle Nachrichten speichern, sonst geht was verloren.

askazo