fgasoi
17-02-2010, 22:20
Folks;
I have an application where I have to read data being sent by a gas turbine controller. It is at 4800 baud, 8N1 with no flow control. My main script is not working, so I tried something simpler, but it does not work either. I am hooked up for testing to another PC running Hyperterminal so I can send one character at a time from the keyboard - I just want to see my program echo, and it does not. Here is the code. (I put in an escape via the local keyboard.) The error code displayed is zero.
USES "CONSOLE"
USES "COMM"
DIM hcomm AS long
DIM NBytes AS long
DIM InBuff AS STRING
'---Get Comms file number and assign
hcomm = COMM_FREEFILE
'---Set up all comms parameters
COMM_SET( hcomm, %COMM_BAUD, 4800 )
COMM_SET( hcomm, %COMM_BYTE, 8 )
COMM_SET( hcomm, %COMM_NULL, FALSE )
COMM_SET( hcomm, %COMM_PARITY, FALSE )
COMM_SET( hcomm, %COMM_PARITYTYPE, 0 )
COMM_SET( hcomm, %COMM_STOP, 0 )
COMM_SET( hcomm, %COMM_RXBUFFER, 64 )
'---Open the port
COMM_OPEN( 2, hcomm )
console_printat("ERROR = " & err, 30, 6)
DO
NBytes = COMM_Get(hComm, %comm_RXQUE)
COMM_recv(hComm, nBytes, InBuff)
console_printat(InBuff, 20, 10)
IF LEN( CONSOLE_INKEYB ) > 0 THEN 'Allow any key to abort
CONSOLE_CLS
CONSOLE_PRINTAT( "ABORTED", 37, 12 )
CONSOLE_WAITKEY( 3 )
COMM_CLOSE( hcomm )
STOP
ENDIF
LOOP
Thanks for any help. The debugger does not allow me to look at the RXBUFFER so I don't know how far it is getting, but Hyperterminal receives my sent data properly.
Rick
I have an application where I have to read data being sent by a gas turbine controller. It is at 4800 baud, 8N1 with no flow control. My main script is not working, so I tried something simpler, but it does not work either. I am hooked up for testing to another PC running Hyperterminal so I can send one character at a time from the keyboard - I just want to see my program echo, and it does not. Here is the code. (I put in an escape via the local keyboard.) The error code displayed is zero.
USES "CONSOLE"
USES "COMM"
DIM hcomm AS long
DIM NBytes AS long
DIM InBuff AS STRING
'---Get Comms file number and assign
hcomm = COMM_FREEFILE
'---Set up all comms parameters
COMM_SET( hcomm, %COMM_BAUD, 4800 )
COMM_SET( hcomm, %COMM_BYTE, 8 )
COMM_SET( hcomm, %COMM_NULL, FALSE )
COMM_SET( hcomm, %COMM_PARITY, FALSE )
COMM_SET( hcomm, %COMM_PARITYTYPE, 0 )
COMM_SET( hcomm, %COMM_STOP, 0 )
COMM_SET( hcomm, %COMM_RXBUFFER, 64 )
'---Open the port
COMM_OPEN( 2, hcomm )
console_printat("ERROR = " & err, 30, 6)
DO
NBytes = COMM_Get(hComm, %comm_RXQUE)
COMM_recv(hComm, nBytes, InBuff)
console_printat(InBuff, 20, 10)
IF LEN( CONSOLE_INKEYB ) > 0 THEN 'Allow any key to abort
CONSOLE_CLS
CONSOLE_PRINTAT( "ABORTED", 37, 12 )
CONSOLE_WAITKEY( 3 )
COMM_CLOSE( hcomm )
STOP
ENDIF
LOOP
Thanks for any help. The debugger does not allow me to look at the RXBUFFER so I don't know how far it is getting, but Hyperterminal receives my sent data properly.
Rick