mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AtMega32 will nicht laufen


Autor: Anton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bei meinem ersten uC Projekt mit einem Atmega32 habe ich Probleme, das 
erste Test-Programm zum laufen zu bringen.

Der Aufbau befindet sich auf einem Lochraster-Board mit div. Peripherie.
Aktuell ist jedoch nur die MCU und der Reste-Baustein MAX700 bestückt.
Die MCU wird extern mit einem 8 MHz Quarz betrieben.

Der erste Test zeigt:
+5 Volt liegt stabil an,
der Oszillator schwingt offensichtlich: an PIN 12 liegt eine 
entsprechende Schwingung an (ca. 4 V geteste mit Oszi),
an PIN 9 (Reset) liegt HIGH-Pegel.

Mit PonyProg habe ich die MCU geladen:

Die Fuses sind so konfiguriert:
OCDEN 1 JTAGEN 1 SPIEN 0 CKOPT 0 EESAVE 0 BOOTSZ1 0 BOOTSZ0 0 BOOTRST 1
BODLEVEL 0 BODEN 1 SUT1 1 SUT0 1 CKSEL3 1 CKSEL2 1 CKSEL1 1 CKSEL0 1

(0 = Häckchen, 1 = kein Häckchen)


Folgendes kleine Programm sollte zeigen, dass dioe MCU acuh tatsächlich 
läuft:

.INCLUDE "m32def.inc"
.CSEG
.ORG 0
  jmp V_START
...

V_START:
  ldi r16, 0b11111111
  out DDRA, r16       ; PORTS A, C, D auf Ausgang schalten
  out DDRC, r16
  out DDRD, r16
  out PORTA, r16      ; PORTS A, C, D Highside Treiber ein
  out PORTC, r16
  out PORTD, r16

loop:
  ldi r16, 0b01010101
  out PINA, r16
  out PINC, r16
  out PIND, r16       ; alle PINS der Ports auf 0 schalten
  nop
  ldi r16, 0b10101010
  out PINA, r16
  out PINC, r16
  out PIND, r16
  jmp loop
.end

Die Erwartungshaltung ist, das die Ausgänge ein Rechtecksignal ausgeben, 
das zwischen benachbarten Ausgängen eines Ports invertiert ist.

Leider sehe ich an allen Ausgängen der Ports A, C, D nur statisch 
HIGH-Pegel anliegen.

Die Ausgänge habe ich testweise mit Widerständen einmal gegen +5V und 
einmal gegen Masse geschaltet - beides Mal leider ohne Erfolg.

Woran könnte es liegen ?
Was könnte ich noch falsch gemacht haben ?

Vorraus schon vielen Dank für die Unterstützung!

Viele Grüße,

Anton

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach' aus PINA PORTA, und dasselbe für die anderen Ports.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>  out PINA, r16
>  out PINC, r16
>  out PIND, r16       ; alle PINS der Ports auf 0 schalten
.....


Nimm mal out Portx,r16

MfG Spess

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Sinn von
  out PORTA, r16      ; PORTS A, C, D Highside Treiber ein
  out PORTC, r16
  out PORTD, r16

erschließt sich mir übrigens nicht.  Das ergäbe nur Sinn, wenn Du Inputs 
mit PullUps haben möchtest.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Atmel die IO-Zugriffsregister mit PINx und POUTx bezeichnet hat, 
könnte damit zu tun haben, das eines eher für IN, das andere eher für 
OUT gedacht ist :-)

Oliver

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das Atmel die IO-Zugriffsregister mit PINx und POUTx bezeichnet hat,
>könnte damit zu tun haben, das eines eher für IN, das andere eher für
>OUT gedacht ist :-)

Bei neueren AVRs kann man mit dem Schreiben einer 1 auf ein Pin-Bit das 
entsprechende Port-Pin togglen.

MfG Spess

Autor: Anton (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die schnelle Hilfe,
das erwartete Ergebnis hat sich nach der Korrektur gezeigt.

Grüße,
Anton

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.