Forum: Mikrocontroller und Digitale Elektronik ATmega128 und PE3 als Output Pin


von pat (Gast)


Lesenswert?

hallo


ich bastle was mit einem ATmega128 und brauche etliche ports nur als
Outputs. Ebenso PortE, nur das Problem dabei ist, dass wenn ich PE3
verwenden will, so krieg ebenso auf anderen Ports irgendwelche Werte.

Beispiel:

        PORTE |= (1 << PE3);

     /* hier das kaos auf PORTA, PORTC, ... */

        PORTE &= ~(1 << PE3);

     /* ab hier ist dann wieder alles wies sein sollte */




liegt das am analog comparator? wie kann ich den umgehen? ich werde
nicht ganz schlau aus dem PE3 ding...

vielen dank fuer einen tipp.


gruss
pat

von Rolf Magnus (Gast)


Lesenswert?

Hast du evtl. vergessen, den Mega103-Kompatibilitätsmodus auszuschalten?

von pat (Gast)


Lesenswert?

hi

ja, den Mega103-Kompatibilitätsmodus hatte ich noch an. Ich habe die
extended fuse wie folgt gesetzt, doch nun laeuft leider gar nichts
mehr:

Fuse Extended Byte = 0xfd


ich kompilier mit avr-gcc und der option -mmcu=atmega128. was muss ich
noch machen?


gruss
pat

von Rahul (Gast)


Lesenswert?

mit 0xfd hast du den Kompatibilitäts-Modus doch eingeschaltet.
Es müsste IMHO 0xFF heissen

von pat (Gast)


Lesenswert?

oops, ja stimmt. es sollte 0xFF (das manual ist manchmal bisschen
verwirrend ;-). ja nun hab ich eben wieder dieses PE3 problemchen...

von Rahul (Gast)


Lesenswert?

Wie hast du PORTE denn überhaupt initialisiert?

von pat (Gast)


Lesenswert?

also erstmal, dass PORTE als Output dient:

DDRE = 0xFF;

und das setzen des Outputs mit:

PORTE |= (1 << PE3);
PORTE &= ~(1 << PE3);

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.