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
Code:
uint8_t i;
for (i=0; i<20; i++)
{
asm volatile ("nop");
}
das gleiche ist wie:
Code:
volatile uint8_t i;
for (i=0; i<20; i++)
{
}
Wobei ich glaub, dass die volatile-for schneller geht, da der NOP nicht gemacht wird.
Lesezeichen