Hallo! habe gerade ein Phänomen entdeckt, welches ich mir nicht erklären kann. Ich habe gerade meinen Atmel mikrocontroller ATmega16 mit einem Lauflicht in AVR studio programmiert. Das Programm beinhaltet die _delay_ms-funktion. Direkt nach dem Programmieren, läuft das Lauflicht auf den LEDs des STK500 ab. Soweit so gut. Es ergeben sich aber direkt nach dem Flashen andere delay-Zeiten als wenn ich dann das erste mal das STK500 ausschalte und dann wieder einschalte (sprich wenn ich den controlelr spannungsfrei mache). Woran kann das liegen?
übrigens tritt das gleiche Phänomen auf, wenn ich dann während des Programm ablaufs auf RESET drücke: STK500 einschalten --> LEDs laufen mit geschwindigkeit-X -> RESET gedrückt -> LEDs laufen nicht mit geschwindigkeit-x sondern langsamer.
An der Spannung. Wenn der noch auf internen Takt geschalten ist und du den mit AVR Studio flashst, setzt das auch das VTarget. Wenn du im AVR Studio 5V stehen hast und das STK 3,3V als Standard hat, ist nach jedem einschalten der Takt niedriger. Somit stimmt dann auch die Delay Zeit nichtmehr. Kann auch andersrum sein. Dreh einfach mal im AVR Studio an der Spannung, dann siehst du das ja sofort.
auf was soll ich das VTarget jetzt stellen? Im moment, nachdem ich auf "Read Voltages" geklickt habe, steht da "5.1 V" bei VTarget und "5.0 V" bei ARef. Danke
verstehe außerdem nicht was das VTarget überhaupt bewirkt, finde dazu auch nix im Forum :-( Ist das von mir genannte Verhalten normal? LIegt das ausschließlich am STK500? Danke für Hilfe!
@ MagicProgger (Gast) >verstehe außerdem nicht was das VTarget überhaupt bewirkt, finde dazu >auch nix im Forum :-( Ganz einfach. Wenn dein AVR mit dem internen RC-Oszillator getaktet wird, dann ist dessen Frequenz von der Versorgungsspanung des AVR abhängig! Einer von vielen Gründen, weshalb der interen RC-Oszillator NICHT für eine solide UART-Kommunikation taugt. >Ist das von mir genannte Verhalten normal? Ja. > LIegt das ausschließlich am STK500? Nein. MFG Falk
ok aber beide regler (VTarget und ARef) stehen auf 5.0 V und 5.1 V. Wie kann ich es nun einstellen, dass es keine Unterschiede mehr zwischen RESET und Neu-Einschalten des STK500s gibts? Ist wirklich wichtig! Danke
Außerdem tritt das Problem nicht nur direkt nach dem Programmieren auf, sondern es ist heute noch genauso, obwohl ich nur das Board einschalte und anschließend auf Reset drücke. Ich schalte das Board ein, motor dreht "korrekt" schnell. Ich drücke auf RESET und der motor dreht nur noch die hälfte so schnell wie er laufen sollte.
Hast du die Fusebits so gestetzt das externer Takt verwendet wird? Wenn nicht mach das mal. Das STK bietet das ja an . Wenn die die 3,68 MHz nicht reichen kannst du auch noch einen Quarz Stecken und entsprechend jumpern. Gruß Jörg
Falk Brunner wrote: > Ganz einfach. Wenn dein AVR mit dem internen RC-Oszillator getaktet > wird, dann ist dessen Frequenz von der Versorgungsspanung des AVR > abhängig! Einer von vielen Gründen, weshalb der interen RC-Oszillator > NICHT für eine solide UART-Kommunikation taugt. Die Frequenz ändert sich aber nur um wenige Prozent (z.B. beim mega48 nicht mal 1%). An einem Lauflicht erkennt man das mit dem Auge ohne Frequenzzähler, Oszilloskop usw.) nicht. Es muss also an etwas anderem liegen.
@ MagicProgger (Gast) >Ich schalte das Board ein, motor dreht "korrekt" schnell. Ich drücke auf >RESET und der motor dreht nur noch die hälfte so schnell wie er laufen >sollte. Die HÄLFTE! Na, sooo schlecht ist selbst der schlechteste RC-Oszillator nicht. +/-10%, eher weniger. Dann wird es wohl was anderes sein. Gibts beim STK500 nicht auch ne Möglichkeit, den Takt für den Ziel-AVR in der Frequenz zu verstellen? MFg Falk
meint ihr das "Oscillator Clock" und "ISP clock"? Da stehen unterschiedliche Werte in meinen Einstellungen.
@ MagicProgger (Gast)
>meint ihr das "Oscillator Clock" und "ISP clock"?
Oscillator Clock.
MfG
Falk
also ich habe nun die "STK500 Osc-Frequ." auf 1 MHz (genau 1.23 MHz) gesetzt, auf Write geklickt bringt aber auch nix.
@ MagicProgger >STK500 einschalten --> LEDs laufen mit geschwindigkeit-X -> RESET >gedrückt -> LEDs laufen nicht mit geschwindigkeit-x sondern langsamer. Also, wenn ich das ganz wörtlich nehme, dann ist die Laufgeschwindigkeit der LEDs langsamer, SOLANGE Du Reset drückst. Ist das richtig? Was passiert wenn Du Reset wieder losläßt? Gruss Oops
Nein, das Problem tritt NACH dem Reset-Drücken auf. Die LEDs blinken nach dem INschalten des STKs normal. dann drücke ich reset und DANACH läuft das langsamer ab. Nur Ausschalten und Wieder-Einschalten des STKs macht das wieder normal, solange ich eben nicht auf reset drücke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.