Forum: Mikrocontroller und Digitale Elektronik Senden mit odd parity


von andré (Gast)


Lesenswert?

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é

von Peter D. (peda)


Lesenswert?

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

von andré (Gast)


Lesenswert?

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

von edi-edi (Gast)


Lesenswert?

schau mal nach  RB8 ...und SCON

von andré (Gast)


Lesenswert?

Ahhh, man sollte halt immer alles lesen :), THX

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
Noch kein Account? Hier anmelden.