Schreib mal so:
for (unsigned int i = Takt/4000ul; i > 0; i--)
{
asm("nop");
}
Dann wird es funktionieren. Ausserdem solltest du das Takt/4000ul vorher machen, sonst wird es bei jedem Durchlauf neu berechnet. Das sind dann etliche Takte mehr.
Schreib mal so:
for (unsigned int i = Takt/4000ul; i > 0; i--)
{
asm("nop");
}
Dann wird es funktionieren. Ausserdem solltest du das Takt/4000ul vorher machen, sonst wird es bei jedem Durchlauf neu berechnet. Das sind dann etliche Takte mehr.
Lesezeichen