mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega64, Controller läuft nicht an


Autor: Stefan_MK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich habe meinen ATMega64 auf internen RC Oszillator und internen RESET
programmiert bei 8MHz. Zusätzlich habe ich ein kleines Programm
geschrieben mit dem ich ein Port PIN wackeln lassen will. Dies läuft
jedoch nicht. Und wenn ich die Spannung langsam herunterdrehe wird auch
der interne RESET nicht ausgelöst.
Ist der Controller vielleicht defekt, obwohl er sich programmieren
läßt? Oder habe ich irgend was vergessen?

Die Port Pins sind alle initiailsiert meist als Ausgänge die nach dem
RESET auf low liegen.

Hoffe auf Eure Hilfe.

Stefan

Autor: Niels (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Schaltplan und Code wär nicht schlecht.

Gruß Niels

Autor: Stefan_MK (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier kommt der Ausschnitt des Programms und der Schaltplan.
Programmausschnitt:

void Init(void)
{

        DDRA  = 0b00011111;             // PA0-PA4 als Ausgänge
        PORTA = 0b00000000;             // alle Ausgänge auf low


  DDRB  = 0b00000000;          // alle Pins im Tristate
  PORTB = 0b00000000;          //

  DDRC  = 0b00011111;        // Pin 0-4 als Ausgänge
  PORTC = 0b00000000;          // alle Ausgäng auf low

  DDRD  = 0b00000000;             // alle Pins als Eingänge
  PORTD = 0b11111111;          // alle Pull-Ups eingeschaltet

  DDRE  = 0b01100011;             // RXD, TXD, PE2 PE3 für
Spannungsüberwachung, PE5 und PE6 Takt und Signal
  PORTE = 0b00000011;             // AIN1 AIN0 im Tristate
  PORTE = 0b01100011;
  PORTE = 0b00000011;

        DDRF  = 0b00000000;             // alle Pins als Eingänge
        PORTF = 0b00000000;             // alle Pins tristate

}

///////////////////////////////////////////////////////////////////////
Main Funktion
///////////////////////////////////////////////////////////////////////

void main(void)
{
 Init();
 while(1)
 {
  PORTE=0b00100000;
  PORTE=0b00000000;
 }
 return;

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M103C Kompatibilitäts Mode auch deaktiviert (Fuse Bit) ?
Sonst gibt`s Probleme mit dem Stack.

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannste mal genau erklären, was deiner macht?

Woher siehste, dass der RESET nicht funktioniert..

dave

Autor: Stefan_MK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M103C ist programmiert. Der interne RESET funktioniert jetzt. Jedoch
wackelt mein Port Pin immer noch  nicht.

Stefan

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest mal ein delay nach setzen und löschen der port-bits
einfügen. Selbst bei 1MHz 'flakert' eine led so schnell das man es
nicht sieht. Ein DVM ist auch zu traäge um die änderung zu messen.

 while(1) {
  PORTE=0b00100000;
  delay();
  PORTE=0b00000000;
  delay();
 }

Olaf

Autor: Stefan_MK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die LED muss zunächst nicht blinken. Ich schaue mir die Leitung mit
einem Oszi an, welches 8MHz auflösen kann. Aber ich versuche es
trotzdem einmal.
Danke

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
probier das mal mit nem anderen port (a-d) vielleicht ist das ja ein
compiler-problem... wegen memory mapped zugriff auf die oberen ports

Autor: Stefan_MK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe vorhin die Sache mit dem M103C Fus Bit falsch verstanden. Habe
es jetzt "deaktiviert" und mein Port Pin wackelt jetzt.

Ich dank Euch viel mals.

Stefan

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.