PDA

View Full Version : How to use serout2 command with 4800T82 (2 stop bits)?



Pimentel
- 1st April 2011, 01:47
Hello all,

I have a Yaesu FRG-100 ( high-performance communication receiver 50KHz to 30 MHz) and by operating manual is possible to control frequency, mode VFO, memory and other setting using serial commands. All commands sent to the receiver must consist of blocks of five bytes each, with up to 200 ms between each byte...
The data is passed at TTL levels (0 and +5v) at 4800 bits/sec. Each byte sent consists of one start bit, 8 data bits, no parity and two stop bits.

an example by manual to set 14,25000 MHz using Basic and a PC:
PRINT #2, CHR$(&H00),CHR$(&H50),CHR$(&H42),CHR$(&H01),CHR$(&HA)

Then I used in PBP using a 16F628A:
serout2 tx,188,[$0,$50,$42,$01,$A]
I used a Define char_pacing 21 (1 bit = 1/4800 ~ 20,83 us) to simulate a second stop bit but doesn't worked!

And other mode:
serout2 tx,188,[$0] : pauseus 21
serout2 tx,188,[$50]: pauseus 21
serout2 tx,188,[$42] : pauseus 21
serout2 tx,188,[$01] : pauseus 21
serout2 tx,188,[$A] : pauseus 21
without sucess again!

I used the pull-up on PortB enable and disable!

Please, help me!

How to set 4800T82 using PBP? Somebody has same idea?

Thanks

Pimentel

Pimentel
- 1st April 2011, 04:15
Ops!!! I discovery an error...the correct time to 1 bit is 1/4800 ~ 208us! I was using 21us (20.83us was wrong) on char_pacing. Sorry by primary error!
However I will test only on next week, then I would like to know with more detail if my program using the correct value of char_pacing (208us) is rigth to generate a second stop bit, and if is necessary to enable the pull-up, because the data is passed em TTL levels.
Thanks

Pimentel