
Zitat von
Ceos
wäre es ratsam einen nicht volatile temp variable zu nehmen (vll. sogar ne registervariable) in die ich den wert der variable lege und dann damit vergleiche anstelle ?
Ja, so was ist gängige Praxis.
Code:
volatile uint8_t var;
...
while (1) {
uint8_t tmp_var = var;
if (tmp_var== ....
...
So ist sichergestellt, dass 1 mal pro Schleifendurchlauf der aktuelle Wert von var aus dem Speicher gelesen wird, und die ganze "Arbeit" kann mit einer lokalen Kopie in einem Register gemacht werden.
Lesezeichen