Hi,
ich mache gerade meine ersten Schritte mit WinAVR
und 'nem ATMega8.
Ich hänge ein bischen daran, definierte Pausen zu
generieren.
Ich nutze dazu die Funktion " _delay_ms()" aus der
"/avr/delay.h".
Im makefile habe ich bei Frequency
"F_CPU = 3686400" eingetragen.
In meinem Code wird "_delay_ms(100);" zehn mal
durchlaufen. Offensichtlich ist mein "aktives Warten"
allerdings immer zu schnell.
An PB0 - PB3 hängt ein 7-Segment LCD mit 'nem 7447 Decoder.
Die Ziffern werden höchstens 'ne halbe Sekunde angezeigt.
Wenn ich "_delay_ms()" mit 200 belege, dann rasen die Ziffern.
In der "delay.h" steht folgendes zur Funktion "_delay_ms()":
"The maximal possible delay is 262.14 ms / F_CPU in MHz."
Das währen dann nach meiner Berechnung 71 Nanosekunden
bei 3,6864MHz??
Ich werd daraus ehrlich nicht schlau.
Kann mir da jemand 'nen Tip geben?
Danke,
tholan