Du kannst die Nachrichten dich direkt ausgeben:
Den Platz im Falsh kannst du nicht sparen, irgendwoher müssen die Strings ja initialisiert werden. Das einzige was du machen kannst, ist Platz im RAM zu sparen, indem du die Strings nicht ins RAM legst sondern in Flash lässt.Code:const char *messages[] = { "egal1", "egal2", "egal3"}; ... { UART_PrintfProgStr (messages[variableEgal-1]) ; }
In RN-Wissen steht was dazu im [wiki="avr-gcc"] Artikel unter Optimierungen.
Platz kannst du hier vor allem sparen, indem du kein sprintf verwendest. Sobalt du eine lib-Funktion anfasst, wird ihr Code dazugelinkt. Eine lib-Funktion 1x zu benutzen ist also nicht billiger, als sie 2x oder 3x zu benutzen. Sie garnicht zu verwenden wird erst die Ersparnis bringen.
Lesezeichen