Hallo
ich habe eine kleine Steuerung auf einem Attiny44A programmiert und nun
eine Frage dazu:
In der ersten Zeile meines C-Programms steht:
(da interner Takt ja 8 Mhz/8)
dann habe ich eine Funktion geschrieben, die ich öfter im Hauptprogramm
aufrufe:
1 | void LED_blink(uint8_t blinkzahl) //Funktion Status LED blinken
|
2 | {
|
3 |
|
4 | for(i = blinkzahl; i>0; i--) //So oft blinken wie in Eingabewert vorgesehen
|
5 | {
|
6 | PORTA |= 1<<LED;
|
7 | _delay_ms(200);
|
8 | PORTA &= ~(1<<LED);
|
9 | _delay_ms(200);
|
10 | }
|
11 | }
|
Jetzt ist das komische, dass ich am Anfang nach meiner Initialisierung
die Funktion mit
aufrufe und der Blinktakt ca. 5 mal langsamer ist, als beim späteren
Aufrufen mit
obwohl ich am Systemtakt nichts ändere und der _delay_ms()-befehl ja
dann einen fixen Wert haben sollte.
(Also der µC läuft am Anfang noch mit einem langsameren takt?!)
Im Datenblatt kann ich dazu nichts finden, deshalb frage ich hier ob ihr
wisst wieso das so ist? :)