[Gambas-user] Serial port data being changed ????

mike euph1 at ...734...
Mon Dec 7 21:39:47 CET 2009


I'm having trouble with Gambas and the serial ports.
Something is changing binary &h0d to &h0a when received
from a serial port. I noticed it in a program that I've
been working on that receives packets of binary data
from a microprocessor. I wrote a little test program to
demonstrate the problem and have included it below. I also
reprogrammed the micro to simply send &h0d as long a
pushbutton is held depressed. I have verified that the
correct data is indeed being sent using CuteCom to display
the binary data.
An interesting thing that I noticed when I ran CuteCom to
test the data being received is that if I close CuteCom without
closing the serial port first then run my Gambas program, it works
fine until I restart the system. If I close the port before closing
CuteCom then my Gambas program fails.


This is the code for the test program.

' Gambas class file
' Using Gambas 2.18 on a system running
' Fedora Kernel (26.30.9-102.fc11.x86_64)
' It also fails running Gambas 2.11
' on my laptop running
' Fedora Kernel (2.6.27.25-78.2.56.fc9.i686)

PUBLIC SUB Form_Open()

   ME.Center

' Setup the serial port - 9600,8,N,1

'  SerPort1.PortName = "/dev/ttyS0"     ' Both ports fail
   SerPort1.PortName = "/dev/ttyUSB0"    ' This the port I'll eventually use
   SerPort1.Speed = "9600"               ' because the laptop has no 
serial port.
   SerPort1.DataBits = "8"
   SerPort1.Parity = "0"
   SerPort1.StopBits = "1"
   SerPort1.Open

   TextArea1.Text = SerPort1.PortName & Chr$(10)
END

PUBLIC SUB SerPort1_Read()

' A microprocessor is connected to the serial port and
' continuously sends &h0d (CR) as long a push button is held down.

DIM InByte AS Byte

   READ #SerPort1, InByte
   TextArea1.Insert(Hex$(InByte) & " ")
' The textarea displays a series of "A " (LF) instead of "D " (CR)
END

PUBLIC SUB ExitBtn_Click()

   SerPort1.Close
   QUIT
END

PUBLIC SUB ClearBtn_Click()

   TextArea1.Clear
END




More information about the User mailing list