LOC

From QB64 Wiki
Revision as of 03:23, 15 September 2009 by imported>Clippy (Created page with 'The '''LOC''' function returns the status of a Serial(COM) port receive buffer. ''Syntax:'' status% = LOC(open_number) * The parameter used is the number used in the port [[…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The LOC function returns the status of a Serial(COM) port receive buffer.


Syntax: status% = LOC(open_number)


  • The parameter used is the number used in the port OPEN AS statement.
  • Returns 0 if the buffer is empty. Any value above 0 indicates COM has received data.
  • Use it in conjunction with INPUT$ to get the data bytes.


Example: Reading and writing from a COM port opened in Basic.


OPEN "COM1: 9600,N,8,1," FOR RANDOM AS #1 LEN = 2048 'input and output
DO: t$ = INKEY$ ' get any transmit keypresses from user
IF LEN(t$) THEN PRINT #1, t$ ' send byte to UART transmit buffer"
IF LOC(1) THEN ' check UART receive buffer for data"
r$ = INPUT$(1, 1) ' get one byte from receive buffer"
IF LEN(r$) THEN PRINT r$; ' print characters consecutively"
END IF
LOOP UNTIL t$ = CHR$(27) ' Escape exit and CLOSE #1"