Werte Damen und Herren. Als ich vor längerer Zeit mit dem AtMega 103 und dem AtMega 8515 werkelte war das noch kein Thema, weil dort alle Ports auch komplett herausgefüht werden... Bei'm Tiny2313 gilt das aber nur noch für Port B. Port D hat nur noch 7 äußere Anschlüsse und Port A gar nur noch 3. Für meinen Zweck brauche ich PA 0-1 als Ausgang. PA 2 sollte ich wohl wegen der Reset-Funktion besser ganz in Ruhe lassen. (Also auch keine Datenrichtung definieren usw... ?) Port B 0-7 und Port D 0-7 brauche ich als Ausgänge. Port B 7 muß aber unbedingt ein Eingang werden. Natürlich gibt es passende Befehle dafür, um auch bei einzelnen Pins die Datenrichtung festzulegen und sie dann auch einzeln anzusteuern oder abzufragen. Was passiert aber, wenn man z. B. den Port A komplett abfragt, obwohl doch nur die ersten 3 Bit ein sinnvolles Ergebnis ergeben können? Wo liegen sonst noch eventuelle "Fallsticke"? (Hätte es gern mal gewußt, auch wenn ich PA 0-1 eigenlich als Ausgang nutzen will.) Vielen Dank im Voraus: Wolfg.
Im zugehörigen datenblatt stehen praktische tabellen mit den werten, die man garantiert aus diesen registern liest. meistens "always read as 0". Schreiben ist auch nicht schlimm.
W. Meyer schrieb: > Werte Damen und Herren. Werter Herr Meyer ;-) > Für meinen Zweck brauche ich PA 0-1 als Ausgang. DDRA=(1<<PA0)|(1<<PA1); > PA 2 sollte ich wohl wegen der Reset-Funktion besser ganz in Ruhe > lassen. Wenn die passende Fuse für PA2=Reset gesetzt ist dürfte der Wert von DDRA<2> nicht interessieren. > Port B 0-7 und Port D 0-7 brauche ich als Ausgänge. DDRB=0xFF; > Was passiert aber, wenn man z. B. den Port A komplett abfragt, > obwohl doch nur die ersten 3 Bit ein sinnvolles Ergebnis ergeben können? Wert=PINA&((1<<PA0)|(1<<PA1)|(1<<PA2)) und fertig. Oder willst du Assembler?
Erst mal danke für die Antworten. Ich habe es schon immer mit Assembler gemacht weil damit gut klarkomme und halt kein C kann oder brauche. Mit welchen Befehlen ich die Datenrichtung festlege und die Abfrage oder Eingabe für einzelne Pins machen muß, weiß ich. Das hätte ich vielleicht gleich deutlicher schreiben sollen. "always read as 0" scheint also "der Tipp" für mich zu sein. Vielen Dank: Wolfg.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.