[Gambas-user] Issue/Problem with Serial Port Component

nando nando_f at ...1382...
Sun Jun 4 23:52:22 CEST 2006


I have tested this for hours...

PUBLIC SPortReceiveString AS STRING

SUB SPort_Read()

  DIM s AS STRING
  DIM ls AS INTEGER

  ls = LOF(SPort)
  'IF ls > 1 THEN DEC ls   '<---always read 1 less than what LOF offers

  READ # SPort, s, ls

  PRINT s  '<--help to debug

  SPortReceiveString = SPortReceiveString & s  'accumulate input

  'There is some testing of SPortReceiveString here

END

Comments:
Serial Port data received is in groups of about 120 bytes every 10 minutes.
Every READ event is a small bunch of characters received.

I have found out that it consistently happens that
the during the SPort_Read event of the second last bunch of chars,
there are more data being receive by the kernel or SPort control
but an event will not happen.

If I unREM the REMed line...
  
  IF ls > 1 THEN DEC ls   '<---always read 1 less than what LOF offers

then it works perfect every time.
An event will happen for the very past burst of serial data in.

-Fernando









More information about the User mailing list