HILFE!

Hallo, ich habe folgendes Problem:

Mein Programmspeicher ist voll und ich möchte was einspaen.

Im Moment sieht das was ich ändern möchte so aus:


unsigned char buffer[21] ;

if(VariableEgal == 1)
{
sprintf(buffer, "\ TestEgal1 ");
}

if(VariableEgal == 2)
{
sprintf(buffer, "\ TestEgal2 ");
}

if(VariableEgal == 3)
{
sprintf(buffer, "\ TestEgal3 ");
}

//Buffer in Display schreiben.
UART_PrintfProgStr(buffer);


Um ein wenig speicher vom Programmspeicher in den Data speicher zu verlagern möchte ich das Programm wie folgt abändern:

unsigned char bufferText1[21] = {?,?,?,?,?,...};
unsigned char bufferText2[21] = {?,?,?,?,?,...};
unsigned char bufferText3[21] = {?,?,?,?,?,...};

if(VariableEgal == 1)
{
UART_PrintfProgStr(bufferText1);
}
if(VariableEgal == 1)
{
UART_PrintfProgStr(bufferText2);
}
if(VariableEgal == 1)
{
UART_PrintfProgStr(bufferText3);
}


So steht jetzt der Text nicht mehr im Programm, sondern in den arrays und ich spare mir ne menge Programmspeicher.

Das Problem ist aber, ich weis nicht, was ich in den array ohne die sprint funktion schreiben soll. (Dort wo die Frageszeichen sind.)

Giebt es ein Windows Programm, dass mit Text in einen array schreibt oder kann ich einfach die Buschstaben in den array schreiben?

Ich hoffe, ihr versteht mein Problem.
Ich hab mich bemüht, es verständlich zu erklähren.

DANKE für eure Hilfe!