rs232 op 4800baud ipv 9600

Alles wat betrekking heeft op dit Dutch boek. (DUTCH forum)
Post Reply
skreyns
Starting Member
Starting Member
Posts: 11
Joined: Fri Nov 27, 2009 12:38 pm
Location: Netherlands
Contact:

rs232 op 4800baud ipv 9600

Post by skreyns »

Als ik de RS232 op 4800baud wil gebruiken ipv 9600 is het dan goed om de tijden 2X zo lang te maken?

Dus de '26' te veranderen in 52 bijv.?


;=================================================================================
RS232_LEES_BYTE
clrf BYTE
rs232_lees_byte_1
btfsc TXD ;wachten tot TXD-lijn laag getrokken wordt
goto rs232_lees_byte_1
movlw D'26' ;130 us wachten tot eerste databit voorstaat
call WACHT_5us
movlw D'8' ;we gaan nu D0-D7 inlezen ...
movwf BIT_NR ;... en houden de teller hiervoor in BIT_NR bij
rs232_lees_byte_2
rrf BYTE,1 ;bits in BYTE 1 positie naar rechts schuiven
bcf BYTE,7 ;eerst linker bit leeg maken ...
btfsc TXD ;... en als DATA TXD niet '0' is ...
bsf BYTE,7 ;... dan linker bit aan zetten
movlw D'19' ;100 us wachten tot volgende databit voorstaat
call WACHT_5us
decfsz BIT_NR,1 ;aftellen tot BIT_NR=0
goto rs232_lees_byte_2
movf BYTE,0 ;BYTE klaar zetten in werkgeheugen
;met de stopbit doen we niets
rs232_lees_byte_eind
return

;=================================================================================
RS232_SCHRIJF_BYTE
bcf RXD ;startbit versturen
movlw D'19' ;95 us wachten (met overhead circa 104 us)
call WACHT_5us
movlw D'8' ;we gaan nu D0-D7 wegschrijven ...
movwf BIT_NR ;... en houden de teller hiervoor in BIT_NR bij
rs232_schrijf_byte_1
btfss RXD
goto rs232_schrijf_byte_2
btfss BYTE,0
bcf RXD
goto rs232_schrijf_byte_3
rs232_schrijf_byte_2
btfsc BYTE,0
bsf RXD
rs232_schrijf_byte_3
movlw D'19' ;100 us wachten tot volgende databit voorstaat
call WACHT_5us
rrf BYTE,1 ;bits in BYTE 1 positie naar rechts schuiven
decfsz BIT_NR,1 ;aftellen tot BIT_NR=0
goto rs232_schrijf_byte_1
bsf RXD
movlw D'20' ;100 us wachten voor stopbit (totaal 104 us)
call WACHT_5us
return
Lempens
Member
Member
Posts: 265
Joined: Wed Dec 12, 2007 1:24 am
Location: Netherlands

Re: rs232 op 4800baud ipv 9600

Post by Lempens »

Mag ik vragen, waarom je een lagere baudrate wilt ?
skreyns
Starting Member
Starting Member
Posts: 11
Joined: Fri Nov 27, 2009 12:38 pm
Location: Netherlands
Contact:

Re: rs232 op 4800baud ipv 9600

Post by skreyns »

Tuurlijk!

Ik heb de commenucatie niet met een PC, maar met een PIC, de 18F877. Ik heb het idee dat de data soms vervormd binnenkomt.
Lempens
Member
Member
Posts: 265
Joined: Wed Dec 12, 2007 1:24 am
Location: Netherlands

Re: rs232 op 4800baud ipv 9600

Post by Lempens »

misschien kun je eens proberen om hem aan te sluiten op de pc, en dan in hyperterminal kijken of alle gegevens steeds goed door komen.
skreyns
Starting Member
Starting Member
Posts: 11
Joined: Fri Nov 27, 2009 12:38 pm
Location: Netherlands
Contact:

Re: rs232 op 4800baud ipv 9600

Post by skreyns »

Ik heb ook hetzelfde probleem als ik het via een PC uitlees, met name als ik de analoge IC uitlees, dan springt de waarde een paar keer naar 53 en 'denkt' dat het licht, vandaar dat ik even wilde proberen om op een lage snelheid wilde proberen.

De programma code is goed, dat weet ik zeker, want ik heb hetzelfde op de PC als op de PIC.
Lempens
Member
Member
Posts: 265
Joined: Wed Dec 12, 2007 1:24 am
Location: Netherlands

Re: rs232 op 4800baud ipv 9600

Post by Lempens »

Misschien de hardware (crystal, condensatoren) of de spanningsbron.
Post Reply

Return to “Domoticaboek Heino Peters”