Hallo zusammen,
es ist Sonntag, die Sonne scheint und ich beschäftige mich mit einer
vielleicht total banalen Frage.
Ich muß ein Vorzeichen änderbar abspeichern und sehr häufig Werte
inkrementieren. In billig-C-Quelltext sähe das vielleicht so aus:
1 | // Einstellungen (nicht const!)
|
2 | // Wie das Vorzeichen gespeichert wird kann ich frei wählen
|
3 | uint8_t config_sign = 0; // 0 oder 1
|
4 |
|
5 | int24_t oftgepollteroutine(void) {
|
6 | static int24_t merker;
|
7 | if(sign)
|
8 | merker += getincrement();
|
9 | else
|
10 | merker -= getincrement();
|
11 |
|
12 | return merker;
|
13 | }
|
oder auch
1 | // Einstellungen (nicht const!)
|
2 | // Wie das Vorzeichen gespeichert wird kann ich frei wählen
|
3 | int24_t config_sign = -1; // -1 oder 1
|
4 |
|
5 | int24_t oftgepollteroutine(void) {
|
6 | static int24_t merker;
|
7 | merker += config_sign*getincrement();
|
8 |
|
9 | return merker;
|
10 | }
|
Das Problem wird ja vermutlich sehr häufig auftreten. Aber gibt es da
für AVR-GCC/ARM-GCC eine Standardlösung?
Viele Grüße
W.T.