mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MEGA128 I/O-Bits Nr. 7 bleiben tot


Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Leute,

ich arbeite (nach einer Reihe von AVR3344-Experimenten) zum ersten mal
mit dem MEGA128. Ich kann ein Testprogramm laden und laufen lassen,
dass in den Ports A und B nacheinander alle Bits setzt und wieder
löscht. Leider weigert sich in beiden Ports! das Bit7 (also das achte
Bit) irgend etwas nach draussen zu geben.

Kann ich nicht mehr bis 8 zählen oder hat 0xFF im MEGA jetzt eine
andere Bedeutung? Was mache ich falsch? Muss ich noch irgendwelche
Fuses setzen?

Wer kann mir mit einer Idee weiterhelfen?

Dieter

Autor: Jens123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bit8???

Die Ports haben nur 8Bit aber es wird von 0 gezaehlt somit ist das 8te
Bit Bit7..

Versuch duch mal nicht zu zaehlen, sondern einfach Porta = 0xff;?

Evtl hast du ein 0xfe in dem Datenrichtungsregister

Gruss Jens

Autor: Uwe Seidel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Tippfehler ??

2. OC1C, Output Compare Match C output: The PB7 pin can serve as an
external output for the Timer/Counter1 Output Compare C. The pin has to
be configured as an output (DDB7 set (one)) to serve this function. The
OC1C pin is also the output pin for the PWM mode timer function.

3. Note: 1. OC1C(PB7) not applicable in ATmega103 compatibility mode.
   Vielleicht hast du in den Fuses diesen Mode eingeschaltet ?

4. vielleicht ein Anschlussproblem an PORTA,7 (kombination aus 2
Fehlern sind sehr irreführend...aus eigener Erfahrung :-) )

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke sehr für Eure Antworten, hier ein Programmausschnitt:

.DEF A=r16  ;Akku A LSB

    ldi A, 0xFF
    out DDRA, A    ;Port A-Bits auf Ausgang
                ldi A, 0    ;setze alle Bits auf null
    out PORTA, A    ;in Port A und
    rcall   Zeit    ;Warten
    ldi A, 0xFF             ;setze alle Bits auf eins
    out PORTA, A    ;in Port A und
    rcall   Zeit    ;Warten

Fuses habe an dieser CPU noch nicht verändert. Also dürfte auch der
103-Mode nicht eingestellt sein. Vielleicht doch ein Hardwareproblem?
Ich werde noch mal weiter forschen. Bis dahin vielen Dank.

Dieter

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.