Hallo,
das müssen schon 2 ineinander verschachtelte Schleifen werden
Für 16Mhz sieht das bei mir so aus:
Für deine Taktfrequenz wären das wohlCode:void sleep(unsigned int sec) { for (unsigned int s=0; s<sec; s++) { for (long int i=0; i<2000000; i++) { asm volatile("nop"); } } }
probier's mal ausCode:void sleep(unsigned int sec) { for (unsigned int s=0; s<sec; s++) { for (long int i=0; i<460800; i++) { asm volatile("nop"); } } }
Die Wartezeit hängt auch ziemlich stark vom verwendeten Datentyp ab.
Je nach Breite der Zahlen in Bit sind mehr oder weniger Schreib-/Lese-
zugriffe dann notwendig.
Grüße,
Bernhard
btw: juhu, mein 400. Beitrag ^^






Zitieren



Lesezeichen