PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C-Control I (Basic) RS-232 mit 1 ParityBit(even)



bookite71
04.10.2004, 12:29
Hallo,

die Steuerung von Rollbandzählern läuft über ´ne RS-232 600 Baud mit 1 Startbit, 8Datenbit, 1 Paritybit (even), 1 Stopbit. Die C-Control kann aber in Basic zumindest erst mal kein Parity.

Hat jemand sowas schon programmiert (in Assembler)?

oder ist es gar nicht möglich? Bin dankbar für jeden Hinweis oder Link!

Grüße, Daniel

bookite71
05.10.2004, 08:11
Könnte die Lösung in einer zweiten RS-232 über die Digitalports liegen?

bookite71
08.10.2004, 10:22
Habe das Problem gelöst! Stolz wie Oskar und schöne Grüße, Daniel

'*** Beispielprogramm:Ansteuerung Digits in BASIC

DEFINE PutByte BYTE
DEFINE i BYTE
DEFINE j BYTE



BAUD 228 '600 BAUD

FOR j=0 TO 10
FOR i=0 TO 9

PutByte=&H84
SYS &H101

PutByte=i
SYS &H101


PAUSE 100

NEXT
NEXT

END

SYSCODE "PARITY4.S19"


;************** RS 232 mit Parity Assemblerteil

PARAM equ $a1
SCCR1 equ $0E
TRANSMIT equ $11



org $101

PUTPARITY:

TXWAIT: brclr 6,16,TXWAIT ;Warten, bis vorherige Sendung abgeschlossen



lda #0 ;Parity Berechnen

brclr 0,PARAM, bit1 ;bei $94 liegt übergabewert
inca

bit1: brclr 1,PARAM, bit2
inca

bit2: brclr 2,PARAM, bit3
inca

bit3: brclr 3,PARAM, bit4
inca

bit4: brclr 4,PARAM, bit5
inca

bit5: brclr 5,PARAM, bit6
inca

bit6: brclr 6,PARAM, bit7
inca

bit7: brclr 7,PARAM, bit8
inca

bit8:

and #1


beq SETONE ;bne=odd; beq=even

bset 6, SCCR1 ;T8 (Paritybit=even) in SCCR1
jmp WEITER

SETONE: bclr 6, SCCR1

WEITER: bset 4, SCCR1 ;M in SCCR1, also 9. bit übertragen


lda PARAM
sta TRANSMIT

rts