Da steht deswegen kein Fehler, weil es eben kein Fehler ist.
Ein grosszügiger Compiler könnte natürlich anmerken, dass die for-Schleife ein "Statement with no effect" ist.
Wenn du es unbedingt so machen willst, kannst du i auch als volatile deklarieren. Dann wird der Compiler die for-Schleife trotzdem durchzählen, auch wenn nix gemacht wird.
So spontan wüsst ich jetzt auch garnicht, ob
das gleiche ist wie:Code:uint8_t i; for (i=0; i<20; i++) { asm volatile ("nop"); }
Wobei ich glaub, dass die volatile-for schneller geht, da der NOP nicht gemacht wird.Code:volatile uint8_t i; for (i=0; i<20; i++) { }







Zitieren

Lesezeichen