Brilliant For-loop Bug
Hi Ben,
Even if I’m just “guessing”, I think even the first loop is ignored by the compiler, and it’s not a bug: your loops have no result at all, and can safely, according to the C standard, be ignored (or replaced by a simple “i = 10000;” assignment, if ever you used i later on (which is not the case in your code).
To obtain a delay in your code by a for loop, this loop must have some visible effect; the simplest way to obtain this effect, and avoids the compiler optimizing your code out (which is definitely not a bug in this case) you should declare i as volatile (volatile int i;) then the compiler will no more be allowed to simply suppress i and all its references...
Bernard