Forum: Mikrocontroller und Digitale Elektronik Externer Crystal Atmega644 STK500


von Jan (Gast)


Lesenswert?

Hallo

Ich versuche wie so viele eine USART Schnittstelle zwischen PC und uC 
einzurichten.

Hierzu habe ich einen AtMega644p auf einer Testplatine mit einem 20MHz 
Crystal angeschlossen. Der Programmer des STK500 ist über eine ISP 
Schnittstelle mit dem AtMega auf der Testplatine verbunden. Die CPU 
läuft mit 5V.

In dem Testprogramm habe ich den Takt auf 20 000 000 Hz eingestellt.
In einer Schleife läuft nun _delay_ms(1000); und ibi(PORTA,0); 
(invertiere Bit).

Die Diode blinkt zwar aber wesendlich langsamer als mit einer Sekunde.

Die Fuse bits habe ich mit dem STK500 Automatisch geschrieben:
Ext. Crystal Osc. 8.0- MHz; Star-up time: 16CK + 4,1 ms

Achso der USART ist so Programmiert, dass er mir das emfangende Zeichen 
zurück sendet. Eine LED geht aus sobald ein Zeichen empfangen wurde. Die 
LED geht nur aus wenn ich mit HTerm 2 Zeichen sende. Dann bekomme ich 
aber meistens 2 00 00 zurück egal was ich sende.

von Micha H. (mlh) Benutzerseite


Lesenswert?

Doku zu _delay_ms gelesen? Mit 1s Delay und toggeln wirst Du außerdem 
höchstens 0,5Hz Blinken erreichen, selbst wenn der Rest der Schleife so 
gut wie keine Zeit braucht.

Übrigens heißt das noch immer Quarz, Kristallglas ist was anderes.

von Mark L. (m2k10) Benutzerseite


Lesenswert?

Hört sich an, als hast du die CKDIV8-Fuse noch gesetzt, dann läuft der 
Prozessor nur mit 1/8 der Quarztaktung.

Mark

von Jan (Gast)


Lesenswert?

Danke :)

War der div 8. Jetzt geht auch der USART und die Diode blinkt wie 
gewünscht

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
Noch kein Account? Hier anmelden.