Shop OBEX P1 Docs P2 Docs Learn Events
intercommunications between 2 ProtoBoard with rs232 — Parallax Forums

intercommunications between 2 ProtoBoard with rs232

nomadnomad Posts: 276
edited 2007-09-30 08:26 in Propeller 1
RE: intercommunications between 2 ProtoBoard with rs232


hi,
for my project, i work on a intercommunications between 2 protoboards
with the FullDuplexSerial-Object, without rs232-hardware, only with
2 cables (rx,tx).

- the master have a vga_text-Object for output.
- the slave have a led on/off - stuff (control for running)

i think, my 2 spin-programms working correctly.
but i have a problem with the transmitting a decimal-value
(x := 1000) from the slave to the master.

what i want:
1) transmit decimal-values from the slave to the master
2) master receive this value and working with this value.


please give me some tips for this problem
thanks

regards
nomad



{****************************************************************************** 
     rs232TestMaster_vgaOut_1.spin 
******************************************************************************}   

OBJ
  ExtSerial : "FullDuplexSerial"   ' Full Duplex Serial Controller
  text : "vga_text"                ' Create vgaText-object  

CON
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000
  
  serRecv = 1  ' Receive on I/O pin 0  = red
  serXmit = 0  ' Transmit on I/O pin 1 = black

VAR
  BYTE str
  

PUB main | c
  
  text.start(16)
  text.str(string("Serial-InputTest",13,10))

  ExtSerial.start(serRecv,serXmit,%0000,9600) ' 9600 Baud

  repeat
  
    'text.str(string("repeat",13,10))
    
    if(c := ExtSerial.rxtime(500)) => 0 ' Wait up to 500ms for a character
      'text.str(string(" Received",13,10))

      str := c
      text.out($0D)  ' 
      text.dec(str)
      
      waitcnt(30_000_000 + cnt)    
      
    case c 
      "0".."9":              ' do something with a digit
      "A".."Z","a".."z":     ' do something with a letter
      '13:                                      ' ok, here's a return
      ' 8:                                      ' backspace key



{*************************************************************************** 
     rs232Test_slave_1.spin                                                  
     -----------------------                                               
***************************************************************************}

CON
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000

  serRecv = 0 ' Receive on I/O pin 0
  serXmit = 1 ' Transmit on I/O pin 1
  ledon   = 4
  
VAR
  BYTE sendbyte   

  

OBJ
  ExtSerial : "FullDuplexSerial"
  
     
Pub Test1
  dira[noparse][[/noparse]ledon]~~
      
  ExtSerial.start(0, 1, 2, 9600)   '- rxpin,txpin,mode,Baud
                                   ' -1 = receive      =     read   (rxpin)
                                   '  0 = transmission =     write  (txpin)
                                   '  - depends on your set up
  sendbyte := 125
                                
  repeat 1000 ' repeat 5 times

    !outa[noparse][[/noparse]ledon]

    'ExtSerial.tx(sendbyte)   
    ExtSerial.str(string("123",13))   ' old ("A",13,10))  ' \r = for linux carridge return 
     'waitcnt(100_000_000 + cnt) 'wait a length of time

{********************************************************************************************}

Comments

  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2007-09-29 14:20
    Take a look at FullDuplexSerial...

    ExtSeria.dec(var) should work for what you are trying to do..

    Oldbit

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buttons . . . check. Dials . . . check. Switches . . . check. Little colored lights . . . check.

    — Calvin, of 'Calvin and Hobbes.
  • nomadnomad Posts: 276
    edited 2007-09-29 14:26
    hi Oldbitcollector,
    thanks for the tip.
    regards
    nomad
  • deSilvadeSilva Posts: 2,967
    edited 2007-09-29 14:37
    .. then the receiving...
    Best you collect all characters (upto the stop condition, e.g. 13) in a vector, add a zero byte.
    and let NUMBERS.fromString(..) do the dirty work smile.gif
  • nomadnomad Posts: 276
    edited 2007-09-30 08:26
    hi deSilva,
    thanks for the tip
    today (sunday) i testing the whole stuff
    regards
    nomad
Sign In or Register to comment.