wo ist PD0 bei b00001111

Gast #1867720
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
Gast
@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 ;-)
Moderator Persönliche Seite
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.)
Angehängte Dateien:
Gast
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)
Moderator Persönliche Seite
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.