Hallo an alle, ich habe ein Problem welches ich weder verstehen noch lösen kann. Ich habe schon viel im Forum gesucht aber leider keine Lösung gefunden. Ich habe folgende Funktion:
1 | char * test_func(char * buf, int val ) |
2 | {
|
3 | while(val > 2) |
4 | {
|
5 | val = val - 2; |
6 | }
|
7 | return buf; |
8 | }
|
Das Programm mit dieser Funktion benötigt Flash speicher: 3172 Bytes. wenn ich in der while Bedingung (val = 2) schreibe braucht das Programm nur 150 Bytes. Ob ich val als volatile deklariere bringt keinen Unterschied!? Achso, der Code wird für einen Mega8 Compiliert. Ich hoffe auf Hilfe und bedanke mich im Voraus.