Bist du sicher, dass die Warteschleife danach nicht mehr geht? Vielleicht ist sie durch deine Optimierung nur schneller geworden.
Wenn du fertige Warteschleifen suchst, guck' mal in die Delay.h (bei AVR-GCC). Da sind welche drin, bei denen du dir genau ausrechnen kannst, wie lange sie warten(bei deinen C-Schleifen kannst du nur nachmessen oder dir den compilierten Code angucken, was wohl aufwändiger ist, als die gleich in ASM zu schreiben.).
Lesezeichen