bodd --> daj sobie całkowicie spokój z porównywaniem jakiejś wyimaginowanej dokładności pomiędzy prockiem taktowanym zewn kwarcem a prockiem taktowanym wewn oscylatorem. Z twojego punktu widzenia jest to absolutnie nieistotne - a widzę, że wielu początkujacych po usłyszeniu
BAJEK natury ogólej jakoby to -
Cytat: "o wiele lepiej jest użyć kwarca zewnętrznego zamiast oscylatora wewnętrznego dzięki czemu procek będzie dokładniejszy"
zaczyna na gwałt wyłączać fusebitami wewn.oscylator i dokłada o zgrozo zewn kwarce typu 1MHz, 4MHz czy 8MHz - co jest bzdurą!
czy będziesz miał kwarc czy oscylator wewn. - to twoje polecenia
WAITxx będą działały dla ciebie zawsze tak samo
.................................
a widać, że twoje pytanie rodzi się z tego, że nie przestawiłeś prawdopodobnie fusebitów w związku z czym procek taktowany jest fabrycznie (zwykle) częstotliwością 1MHz
a ty podajesz sobie różne wartości $crystal i ze zdziwieniem obserwujesz że polecenie
Wait 1 - raz trwa dokładnie sekundę a innym razem dłużej czy krócej
..... ustaw sobie fuskami taktowanie wewn. oscylem, procka na np
8MHz i daj
$crystal = 8000000
ustaw sobie fuskami taktowanie wewn. oscylem procka na np
4MHz i wtedy daj
$crystal = 4000000
rozumiesz teraz jak ma się do siebie ustawienie fusów i $crystal ?????
bo jeśli np masz fabrycznie taktowanie procka 1MHz (nie ruszałeś fusów) a ty dajesz sobie np $crystal = 4000000 albo $crystal = 8000000 - to nie dziw się później że polecenie Wait 1 nie trwa u ciebie równo 1 sekundę
teraz jaśniej ?