Hallo, enn an PORT-B zum Beispiel 8 Ports vorhanden sind und ich will nur den 6ten Port als Ausgang definieren, wie schreib ich den Befehl dazu hin ? OEB= 0x06; ? Ich bin noch ein Anfänger und das was ich bis jetzt gemacht habe ist das ich alle PORTS als Ausgang definiert habe OEB=0xFF; Jetzt will ich aber nur einige als Ausgang definiert haben die ich dann ein und ausschalte. Wie geht das dann enn ich zum Beispiel den 6ten und den 4ten gleichzeitig als Ausgang haben will, steht das dann in einem Befehl oder sind das dann zwei wie zB. OEB=0x06; OEB=0x04; Iergendwie komm ich da nicht ganz weiter, ich bitte um Hilfe. Danke MFG Wolfgang
8051 AN2131 :) Fürn Anfang nehme ich mal diesen, anderen meinen AVR ist besser aber ich bleib mal bei diesem.
Was für einen Controller verwendest Du? Wie die Port Direction Register zu konfigurieren sind sollte im Datenblatt stehen. Bei einem Atmel AVR heißen die entsprechenden Register beispielsweise DDRx, wobei x der Port ist. PORTB.5 als Ausgang zu setzen wäre in diesem Fall mit einem Schreiben einer 32 (2^5) auf das Register DDRB.
Klemmt bei dir das "w"? Wolfgang Steinecker schrieb: > OEB= 0x06; ? Du bist einigermassen auf dem richtigen Weg. 0x06 ist aber nicht der 6. Pin, sondern Pin2 und Pin3. Jede Binärstelle im Konfigurationsbyte entspricht einem I/O. Der 6. Pin ist dann 0x40: 01000000 Für den 6. und 4.: 01010000 = 0x50. Immer beachten: Die Pins werden von 0 - 7 gezählt. mfg.
Meines Wissens nach ist jeder Port am Anfang als Eingang definiert, bis man Output-Enable-A,B,C eingibt. Mit diesem Befehl definiert man entweder den ganzen Port als Ausgang oder nur ein paar. Das ist auch meine Frage, wie definiert man nur ein paar Portpins als Ausgang ? OEB=0xFF it das der ganze PORT als Ausgang dient. OEB=0x01 heißt das nur der erste PIN ein Augang ist. Aber dnn wirds schwerer ich versuche es andauernd mit 0x05 für den 5ten aber das geht nicht, vielleicht ist die Hexadezimalzahl falsch ? Oder ich will den 5ten und 7ten als Ausgang haben , und alle anderen als Eingang...
Port / Wertigkeit (in Hex) 0 -> 1 1 -> 2 3 -> 4 4 -> 8 5 -> 10 6 -> 20 7 -> 40 8 -> 80 Zusammenzählen, derjenigen Werte, die verwendet werden als Ausgang. z.B. Port 5 und 7 -> 0x10 + 0x40 => 0x50
Stimmt Thomas Eckmann schrieb: > Da hast du dich aber etwas vertan. ohje, hast recht! nochmals ein versuch: Port / Wertigkeit (in Hex) 0 -> 1 1 -> 2 2 -> 4 3 -> 8 4 -> 10 5 -> 20 6 -> 40 7 -> 80
Wolfgang Steinecker schrieb: > r stimmt das jetzt vom > "tip" ? Fast. >0-> 1 >1 -> 2 >3 -> 4 >4 -> 8 >5 -> 10 >6 -> 20 >7 -> 40 >8 -> 80 So ist es richtig: 0 -> 1 1 -> 2 2 -> 4 3 -> 8 4 -> 10 5 -> 20 6 -> 40 7 -> 80 mfg.
Danke euch sehr :) Also wenn ich jetzt zum Beispiel den ersten dritten und 7ten Portausgang als Ausgang definieren will schreib ich das dan so auf : Erster Portausgang ist 0x01; Dritter ist 0x04; Und 7er ist 0x40; Also ergibt das dann 0x45; Also OEB=0x45 ? MFG
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.