Widzę, ze nie posmakował ci komentarz.
Przed zajęciem się embedded musisz NAPRAWDE DOBRZE zasymilować język. Inaczej będzie katastrofa.
char znaki[20][5];
void zapis(char * text)
{
static uint8_t licz;
while(*text)
znaki[licz++][text++]= *text++;
}
Jak nie czujesz NAPRAWDĘ DOBRZE jak działa operator ++, to nie musisz go używać. Tak, wiem, dużo plusplusów to tak bardziej hakersko wygląda ... więc muszi zapisać to "mniej hakersko", bo masz ich za dużo.
Zmienna statyczna jawnie nie inicjowana ... kolejne kuriozum. Funkcja ma być raz używa?
Problemy są również projektowe/koncepcyjne
aby każda partia znaków
A co to jest partia ? C-string zakończony `\0' ? Zawsze cztery plus piąty zerowy ?
Próbując domniemać z kodu założenia, to by była jakaś skrajnie dziwna struktura danych
Jakie dane NAPRAWDĘ masz ? bez tego nie da się nam odpowiedzieć.
Bez jasnego określania założeń i tobie nie da się zrobić kodu.