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


von Dieter (Gast)


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

von Jens123 (Gast)


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

von Uwe Seidel (Gast)


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 :-) )

von Dieter (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.