PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Byte wird "rückwärts" ausgegeben



ikarus_177
31.07.2008, 09:32
Hi,

ich will ein Byte (0-255) an einem kompletten Port eines Mega8 ausgeben. Meiner Meinung nach hab ich den Port korrekt verdrahtet, aber wenn ich mit
$regfile = "m8def.dat"
$crystal = 8000000

Config Portb = Output

Do
Portb = 123
Loop die Zahl 123 als Binärcode auf den Port schreiben will (Der Windows-Rechner sagt, es müsse 01111011 erscheinen), erhalte ich am Port von Pin 0 aus gesehen folgende Reihenfolge: 11011110, also genau umgekehrt. Ich hab das ganze auf eine Buchsenleiste gelegt und der erste Pin der Buchsenleiste ist auch wirklich mit Portb.0 verbunden und nicht umgekehrt?

Woran könnte das liegen? Vielleicht doch ein Hardware-Fehler, oder gibts da in Bascom eine "Reverse" - Funktion? ;-)


Viele Grüße
ikarus_177

zerush
31.07.2008, 10:43
Also: Bit0 ist immer das rechteste (niederwertigste) Bit eines Byte!

Bit-Nr: 7 6 5 4 3 2 1 0
Wert: 0 1 1 1 1 0 1 1

Ich denke das beantwortet deine Frage schon..

sternst
31.07.2008, 10:44
(Der Windows-Rechner sagt, es müsse 01111011 erscheinen), erhalte ich am Port von Pin 0 aus gesehen folgende Reihenfolge: 11011110, also genau umgekehrt

Nein, genau richtig herum.
Pin 0 ist Bit 0, das niederwertigste Bit, also das ganz rechts.
123 = (Bit7)01111011(Bit0)

ikarus_177
31.07.2008, 12:55
aaaah, danke sehr.

Viele Grüße aus dem sonnigen Grein
ikarus_177