1. global recv
  2. global send
  3.  
  4. -- This demo worked fine when using the "Virtual Serial Port Driver"
  5. -- (http://www.eltima.com/products/vspdxp/) with the virtual port pair
  6. -- COM3 and COM4.
  7.  
  8. ----------------------------------------
  9. --
  10. ----------------------------------------
  11. on startMovie
  12.  
  13.   -- defaults if not specified:
  14.   --   baud = 9600
  15.   --   byteSize = 8
  16.   --   parity = 2
  17.   --   stopBits = 0
  18.   --   dtrControl = 1
  19.   --   rtsControl = 1
  20.  
  21.   baud = 19200
  22.   byteSize = 8
  23.   parity = 2
  24.   stopBits = 0
  25.   dtrControl = 0
  26.   rtsControl = 0
  27.  
  28.  
  29.   ----------------------------------------
  30.   -- RECEIVER (COM4)
  31.   ----------------------------------------
  32.   recv = Xtra("Serial").new()
  33.   ok = recv.open(4, baud, byteSize, parity, stopBits, dtrControl, rtsControl)
  34.  
  35.   -- set callback for data received on COM4
  36.   recv.setDataCallback(#slotData)
  37.  
  38.   ----------------------------------------
  39.   -- SENDER (COM3)
  40.   ----------------------------------------
  41.   send = Xtra("Serial").new()
  42.   ok = send.open(3, baud, byteSize, parity, stopBits, dtrControl, rtsControl)
  43.  
  44.   -- send byte 23
  45.   res = send.sendData(bytearray(1, 23))
  46.  
  47.   -- send string "Hello"
  48.   res = send.sendData(bytearray("Hello"))
  49.   --put res
  50.  
  51.   put "DONE."
  52. end
  53.  
  54. ----------------------------------------
  55. --
  56. ----------------------------------------
  57. on stopMovie
  58.   -- close ports
  59.   recv.close()
  60.   send.close()
  61. end
  62.  
  63. ----------------------------------------
  64. -- @callback
  65. ----------------------------------------
  66. on slotData (data)
  67.   put "slotData:" && data
  68.  
  69.   --  if ilk(data)=#bytearray then
  70.   --    put "data:" && data.readRawString(data.length)
  71.   --  end if
  72.  
  73. end
[raw code]