ich habe einen ATmega16 Wenn ich nicht alle Pin als Eingang bzw. Ausgang definieren möchte gibt es die Möglichkeit auch über den Befehl. PORTD =b00001111 zum Beispiel 4 Eingänge und 4 Ausgänge zu definieren. Leider weiß ich jetzt nicht welches von den Pins PD0 ..... usw ist. Da ich ein +5V Rechtecksignal an meinen AT16 geben möchte will ich jetzt nicht meinen Port kaputt machen indem ich ausprobieren in welcher Reihenfolge ich zählen muss. Also heißt b00001111, dass PD0=1,PD1=1,PD2=1 usw. und PD5=0,PD6=0,PD7=0 sind? Viele Grüße Nils
Wenn Du eine normale Dezimalzahl schreibst, ist die niedrigste Stelle ganz rechts. Genauso ist es bei Binärdarstellung, also Bit 0 ganz rechts.
Nils schrieb: > Also heißt b00001111, dass PD0=1,PD1=1,PD2=1 usw. > und PD5=0,PD6=0,PD7=0 sind? b00001111, ^ ^----------------> PD0 =1 | |-----------------------> PD7 =0
@JW
> PORTD =b00001111
PD3..PD0 = AUSGÄNGE, PD7..PD4 = EINGÄNGE. Was ist daran kompliziert?
Nilix schrieb: >> PORTD =b00001111 > PD3..PD0 = AUSGÄNGE, PD7..PD4 = EINGÄNGE. Was ist daran kompliziert? Kompliziert? Nichts. Die dargestellte Anweisung macht das allerdings nicht.
@Nilix DDR wie Data Direction Register, alles klar? Ich hab halt immer den Drang unklares richtig zu stellen, was hoffentlich dem, der im Forum fragt, entgegen kommt ;-)
mal abgesehen davon, dass es dafür das Datenblatt (und die Tuts) gibt:
so
> PORTD =b00001111
schreibt man es auch nicht!
1 | PORTD = (1<<PD0) | (1<<PD1) | (1<<PD2) | (1<<PD3) |
und schon sieht man gleich was Sache ist...
Justus Skorps schrieb: > so > >> PORTD =b00001111 > > schreibt man es auch nicht! Naja. Man kann's auch übertreiben. Bei den Bits in irgendwelchen Steuerregistern, in denen jedes Bit eine komplett andere Funktion erledigt, gehe ich mit deiner Argumentation mit. Bei simplen 8-bit- IO-Ports ist meiner Meinung nach die ausführliche Form oft weniger übersichtlich, als da eine Zahl hinzuschreiben (egal ob hex oder binär — mit ein wenig Übung liest man 8-bit-Hexzahlen genauso fließend). Du kannst ja mal einen Vorschlag unterbreiten, wie man die Tabellen voller Binärzahlen in der Datei im Anhang lesbar mit irgendwelchen expliziten Bit-Notationen aufschreiben würde. ;-) (Ich sehe gerade, dass die Formatierung etwas verquer aussieht: bei mir sind <TAB>s prinzipiell aller 8 Spalten, wie es seit VT100 üblich ist. Die Forensoftware scheint sie aber anders zu setzen. Den Anhang kann man leider nicht mehr nachträglich editieren.)
Hihi, wir hatten es hier doch letztens mal wieder über TABs vs. Spaces. Dein Beispiel zeigt mal wieder, wie gut das mit den TABs in der Praxis funktioniert. ;-) (SCNR)
Rolf Magnus schrieb: > Dein Beispiel zeigt mal wieder, wie gut das mit den TABs in der Praxis > funktioniert. ;-) Das File war ja eigentlich nur für meinen eigenen Gebrauch bestimmt, nicht "public" (deshalb hat es auch keinen Lizenzvermerk, d. h. du darfst es angucken, aber streng genommen nicht weiter verbreiten). Für mich funktioniert das mit den 8er TABs prima, ich hatte damit noch nie ein Problem. ;-) Mir ist auch gar nicht ganz klar, wo die 4er-TAB-Unsitte eigentlich her rührt, vermutlich aber von Editoren, die nicht in der Lage (oder zu faul) sind, das Einrückungsniveau davon zu trennen, für wie viele Spalten ein <TAB> steht. Bis zum Eintreffen dieser Editoren (so vom Gefühl her würde ich auf Anfang dieses Jahrtausends tippen) waren 8er TABs gang und gäbe, weil sie praktisch jedes Terminal und jeder Drucker auch genau so dargstellt hat (eben seit DEC VT100). Langer Rede kurzer Unsinn: für einen Austausch zwischen verschiedenen Welten würde ich mittlerweile wohl auch die TABs einfach durch Leerzeichen ersetzen lassen. Ist eben nur nicht meine Voreinstellung.
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.