Forum: Mikrocontroller und Digitale Elektronik kleines AtMega Programm läuft nicht


von Peter Z. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Hab eine Schaltung mit einem AtMega644p aufgebaut. Momentan ist nur an 
PD5 ein Transistor (über R2,2K) angeschlossen, der ein paar LEDs (mit 
Vorwiderstand) betreibt. VCC und AVCC hängen an 5V, Stromquelle ist ein 
5V Traco, Entstörkondensator direkt am Atmel 100nF.
Das Programm ist folgendes:
1
#define F_CPU 20000000UL
2
#include <avr/io.h>
3
4
5
int main(void)
6
{
7
    DDRD= 0b00100000;
8
    PORTD=0b00100000;
9
10
    while(1)
11
    {
12
    }
13
}

Ziel wäre vorerst mal gewesen, die LEDs permanent einzuschalten. 
Stattdessen blinken die LEDs mit etwa 10Hz. Es hat den Anschein, als ob 
sich der Atmel dauernd resetet (ResetPin hatte ich unbeschaltet und 
jetzt testweise mit 1K an VCC - kein Unterschied). Quarz ist 20MHz; bei 
Verwendung des internen Oszilators ändert sich bloß die Blinkfrequenz. 
Die Fuses sind im Anhang. Kann jemand das Problem erkennen?

von Peter II (Gast)


Lesenswert?

Watchdog aktiviert?

von Peter Z. (Gast)


Lesenswert?

Peter II schrieb:
> Watchdog aktiviert?

macht keinen Unterschied

von Sam .. (sam1994)


Lesenswert?

Er meint ob er aktiviert war, denn wenn ja resettet sich der avr. Stelle 
den Watchdog mal wieder aus und trenne den avr vom Stromkreis.
Es könnte sein, das er gesetzt war und noch nicht deaktiviert ist.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Wenn es am Watchdog läge, so würde er das kurze Ausschalten der LED 
aufgrund des Watchdog-Resets gar nicht wahrnehmen können.

von Peter Z. (Gast)


Lesenswert?

ne wdton ist aus und war auch immer aus. langsam denk ich dass der Chip 
übern Jordan ist. Seltsame Geschichte....

von Matthias L. (Gast)


Lesenswert?

Schreib mal die while so um:
1
...
2
while(1)
3
{
4
  asm volatile ("nop");
5
}

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.