ATMega64, Controller läuft nicht an

Gast #167863
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
Gast #167865
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;
Angehängte Dateien:
Gast #167869
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
Gast #167872
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.