mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMEGA 16 verhält sich absolut rätselhaft


Autor: A. W. (wiwil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich habe schon einige Schaltungen mit AVRs erfolgreich zum Laufen
gebracht, aber was mir im Moment passiert, kapiere ich nicht
ansatzweise.

Also ich habe einen ATMega16 und möchte den PORTC als Datenport für ein
Display benutzen. Nachdem es mit Beispielcode nicht klappte habe ich mal
von vorne angefangen und die Pinne einzeln durchgemessen und überprüft.
Ich habe dann das Display abgekoppelt und den Port auf High, bzw Low
gesetzt. Das klappte nicht wie erwartet. Also gut, ich konnte nicht
aussschließen, dass ich beim Port was zerstört hatte. Also 2 neue
Atmegas besorgt. Zweiter IC, gleiches Spiel. Beim dritten habe ich dann
nur die Stromversorgungspinne, die ich natürlich auch nachgemessen habe,
in der Fassung gelassen. Alle anderen Beine sind frei. Am PORTC gibt es
aber immer das gleiche Spiel. Ist der Port auf low gesetzt, oder ist
der ATmega gänzlich unprogrammiert, so kann man an den Pinnen 00101100
messen, Setzt man den kompletten Port auf high ergibt sich 11101111. An
einem anderen Port kann ich eine LED blinken lassen, der Prozessor läuft
also. Wie gesagt, die Pinne von PORTC haben keine Verbindung zu
irgendeiner Schaltung.
Auch der Code könnte einfacher ja nicht sein und funktioniert im
Simulator. Mit einem C-Compiler habe ich es auch probiert, immer das
gleiche Ergebnis.

.include "m16def.inc"

.def temp1 = r16

.org 0x000
rjmp main

.org 0x00E
main:

  LDI temp1, HIGH(RAMEND) ; Oberes Byte
      OUT SPH,temp1 ; an Stapelzeiger
      LDI temp1, LOW(RAMEND) ; Unteres Byte
      OUT SPL,temp1 ; an Stapelzeiger

  ldi temp1, 0b11111111
        out DDRC, temp1

  ldi temp1, 0b11111111
        out PORTC, temp1

loop:
      rjmp loop


Nun bin ich sehr ratlos, sowas ist mir noch nicht passiert. Hat einer
eine Idee, was das sein könnte? Die ATMegas sind auch von
unterschiedlichen Lieferanten, ein Hardware-Fehler scheint also
ausgeschlossen.

In der Hoffnung auf neue Ideen, schöne Grüße

Andreas

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

JTAG Fuse noch aktiv ?
Ich glaub da stolpert jeder drüber g

http://www.atmel.com/dyn/resources/prod_documents/...
Seite 59

Gruss,
Simon

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JTAG kann man auch ohne Fusebit-Veränderung deaktivieren.

In der Reset-Routine (nach Stackpointer-Init):

 in wl,mcucsr               ;JTAG-
 sbr wl,1<<jtd              ;Interface
 out mcucsr,wl              ;deaktivieren
 out mcucsr,wl              ;(PortC aktivieren)

Und schon sind die Portpins verfügbar...

...

Autor: A. W. (wiwil)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!!!

Ist zwar schon peinlich, aber das hat mich eine ganze Woche Suchen
gekostet. Jetzt funktioniert es ohne Probleme!
An JTAG habe ich überhaupt nicht gadacht, hatte vorher nur AVRs, die
das nicht unterstützen. Ich dachte die alternativen Portfunktionen
gehen nur wenn man sie explizit einschaltet, und nicht dass man sie
ausschalten muss.
Auch mit der Forensuche hatte ich es probiert, aber wenn man nicht weiß
wonach man suchen muss ;-)
Auf jeden Fall wieder was entscheidendes gelernt und nochmal herzlichen
Dank!

Gruß
Andreas

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.