home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / windows / basic / lclb42 / simple.bas < prev    next >
Encoding:
BASIC Source File  |  1994-08-16  |  1.9 KB  |  93 lines

  1. '
  2. '  SIMPLE.BAS Example Program
  3. '
  4.  
  5. '$INCLUDE: 'LCL4B.BI'
  6.  
  7.  DECLARE FUNCTION Buf256Seg CDECL ()
  8.  
  9.  CONST ESC = 27
  10.  DIM RATES$(12)
  11.  
  12.  RATES$(1) = "300"
  13.  RATES$(2) = "600"
  14.  RATES$(3) = "1200"
  15.  RATES$(4) = "2400"
  16.  RATES$(5) = "4800"
  17.  RATES$(6) = "9600"
  18.  RATES$(7) = "19200"
  19.  RATES$(8) = "38400"
  20.  RATES$(9) = "57600"
  21.  RATES$(10) = "115200"
  22.  
  23.  PARMS$ = RTRIM$(COMMAND$)
  24.  I = INSTR(PARMS$, " ")
  25.  IF I < 1 THEN
  26.    PRINT "  Usage: SIMPLE <Port> <BaudRate>"
  27.    PRINT "Example: SIMPLE 1 9600"
  28.    END
  29.  END IF
  30.  L = LEN(PARMS$)
  31.  ARG1$ = LEFT$(PARMS$, I - 1)
  32.  ARG2$ = LTRIM$(RIGHT$(PARMS$, L - I))
  33.  BaudCode = -1
  34.  'Get COM port
  35.  Port = VAL(ARG1$) - 1
  36.  'Get baud code
  37.  FOR I = 1 TO 10
  38.    IF RATES$(I) = ARG2$ THEN
  39.       BaudCode = I - 1
  40.       EXIT FOR
  41.    END IF
  42.  NEXT I
  43.  'Verify good baud rate
  44.  IF BaudCode = -1 THEN
  45.    PRINT "Cannot recognize baud rate "; ARG2$
  46.    END
  47.  END IF
  48. 'PRINT "Port=";Port
  49. 'PRINT "BaudCode=";BaudCode
  50. 'Reset port
  51.  Code = SioRxBuf(Port, Buf256Seg(), Size256)
  52.  IF Code < 0 THEN
  53.    PRINT "Error "; Code; " returned from SioRxBuf()"
  54.    Code = SioError(Code)
  55.    END
  56.  END IF
  57.  Code = SioReset(Port, BaudCode)
  58.  CLS
  59.  IF Code < 0 THEN
  60.    PRINT "Error "; Code; " returned from SioReset()"
  61.    Code = SioError(Code)
  62.    END
  63.  END IF
  64.  
  65.  PRINT "SIMPLE 7/17/94"
  66.  PRINT " "
  67.  LIBVER = SioInfo(ASC("V"))
  68.  PRINT "Library Version: "; LIBVER \ 16; ".";
  69.  PRINT LIBVER - 16 * (LIBVER \ 16)
  70.  
  71.  PRINT "Entering TERMINAL loop..."
  72.  
  73.  Code = SioDTR(Port, SET_LINE)
  74.  Code = SioRTS(Port, SET_LINE)
  75.  DO
  76.    'Look at incoming serial
  77.    Code = SioGetc(Port, 1)
  78.    IF Code > -1 THEN
  79.      Code = SioCrtWrite(Code)
  80.    END IF
  81.    'Anything to send
  82.    AnyKey$ = INKEY$
  83.    IF AnyKey$ <> "" THEN Code = SioPutc(Port, ASC(AnyKey$))
  84.    IF AnyKey$ = CHR$(ESC) THEN EXIT DO
  85.  LOOP
  86.  
  87.  PRINT "User typed ESC..."
  88.  Code = SioDone(Port)
  89.  
  90.  END
  91.  
  92.  
  93.