Anfänger ... erster Versuch ... fehlgeschlagen ;o(

Gast #181842
Lesenswert?
• ▲
▼
Hallo,

habe soeben in einer Nacht- und Nebelaktion mein erstes AVR-Board
aufgebaut und wollte es eigentlich nur noch schnell einmal testen.
Flashen ging laut Anzeige soweit auch eiwandfrei ... nur das Prog läuft
nicht. Ich hoffe es ist ein Fehler meinerseits im Programm und nicht
gleich der erste zerschossende AVR oder eine Schaltung die gar nicht
funktioniert:

#include <avr/io.h>
#include <stdio.h>
#include <stdlib.h>
#include <avr/delay.h>

int main (void)
{

  DDRD=0xff;
  DDRC=0xff;
  while(1)
  {
    PIND=0xff;
    PINC=0xff;
  }

}


As handelt sich um einen ATMega32. An Port C habe ich
interessanterweise an ein paar Pins Spannungen messen können, sonst
leider nichts.

Wo liegt das Problem ? Ist der Code falsch ? Kann der AVR defekt sein ?
wäre es möglich, dass die Schaltung gar nicht funktioniert (z.B. kein
Takt) oder ähnliches ?

Ach und noch etwas - ab wann läuft das aufgespielte Programm eigentlich
? Gleich nach dem flashen oder nach dem Aus- und wieder Einstöpseln ?

MfG
Gast
Lesenswert?
• ▲
▼
PORTC hat ein paar pins für JTAG reserviert.

zu ausschalten Fuses entsprechend programmieren, oder zur laufzeit..

// Disable JTag Interface in case of ATmega32 (or FUSE disabled - just
in case)
#if defined (_AVR_ATmega32_)
    unsigned char sreg = SREG;
    cli();
    // Zweimal innerhalb von 4 Taktzyklen schreiben
    MCUCSR |= (1<<JTD);
    MCUCSR |= (1<<JTD);
    SREG = sreg;
#endif
Gast
Lesenswert?
• ▲
▼
Auch wenn der Fehler in deinem Programm schon oben genannt wurde, nur
mal zur Info:
Das Programm läuft, sobald der Reset Pin auf high gesetzt wird. Manche
Programmer machen dies direkt nach dem Flashen und manche nicht.
Wenn du keinen Takt hättest würde der Programmer den Chip garnicht erst
erkennen.
Solange der Programmer noch den Chip erkennt ist nicht alles verloren
;-)

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.