Hallo.
Wieder mal ne neue Frage, die mich zur Verzweiflung treibt g.
Wie kann man mit einem 2051 mit 8 datenbits, start-und stoppbit und
ungerader paritaet senden? Dass das mit dem StandardUART nicht mehr
moeglich ist, ist mir klar. Ich hab bereits einen Software-uart, weiss
jetzt aber nicht, wie ich das Paritaetsbit da einsetzen soll. Habe es
mehrmals versucht, ohne Oszi scheint das aber absolut nicht zu wollen:
out_OUT EQU 3.1
jmp start
; 9600 @ 22.1184Mhz
out_out:
push 0
push Acc
mov R0,#8
clr out_OUT
call out_L3
call out_L3
out_L2:
rrc a
mov out_OUT,c
call out_L3
call out_L3
djnz R0,out_L2
setb out_OUT
call out_L3
call out_L3
pop Acc
pop 0
ret
out_L3:
push psw
push 0
mov 0,#40
out_L3_labelA:
djnz 0,out_L3_labelA
pop 0
pop psw
ret
start:
setb out_OUT
mov SP, #20h
main:
mov a, #88h
call out_out
jmp main
end
Hat vielleicht jemand nen Vorschlag? oder evtl sogar eine bessere
Routine? :)
mfg andré
Warum soll das mit der UART nicht gehen ? Einfach den 9Bit-Mode setzen, P invertieren und in TB8 schreiben: mov c, p cpl c mov tb8, c mov sbuf, a Peter
Hm, muss ich gleich noch ne Frage zu stellen, wie schaut denn das Gegenstück dazu aus? Also um ein Byte zu empfangen, und odd parity dann wieder "zu entfernen". Steht das paritybit ueberhaupt mit im sbuf, oder wie ist das? 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.