home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / bas / pcl4b42 / simple.bas < prev    next >
BASIC Source File  |  1994-09-08  |  2KB  |  93 lines

  1. '
  2. '  SIMPLE.BAS Example Program
  3. '
  4.  
  5. '$INCLUDE: 'PCL4B.BI'
  6.  
  7.  Buf256$ = STRING$(256+16,0)   'Must be 1st string statement
  8.  BufSeg = (1+SSEG(Buf256$)) + (SADD(Buf256$) \ 16)
  9.  
  10.  CONST FALSE = 0, TRUE = NOT FALSE
  11.  CONST ESC = 27
  12.  DIM RATES$(12)
  13.  
  14.  RATES$(1) = "300"
  15.  RATES$(2) = "600"
  16.  RATES$(3) = "1200"
  17.  RATES$(4) = "2400"
  18.  RATES$(5) = "4800"
  19.  RATES$(6) = "9600"
  20.  RATES$(7) = "19200"
  21.  RATES$(8) = "38400"
  22.  RATES$(9) = "57600"
  23.  RATES$(10) = "115200"
  24.  
  25.  PARMS$ = RTRIM$(COMMAND$)
  26.  I = INSTR(PARMS$, " ")
  27.  IF I < 1 THEN
  28.    PRINT "  Usage: SIMPLE <Port> <BaudRate>"
  29.    PRINT "Example: SIMPLE 1 9600"
  30.    END
  31.  END IF
  32.  L = LEN(PARMS$)
  33.  ARG1$ = LEFT$(PARMS$, I - 1)
  34.  ARG2$ = LTRIM$(RIGHT$(PARMS$, L - I))
  35.  BaudCode = -1
  36.  'Get COM port
  37.  Port = VAL(ARG1$) - 1
  38.  'Get baud code
  39.  FOR I = 1 TO 10
  40.    IF RATES$(I) = ARG2$ THEN
  41.       BaudCode = I - 1
  42.       EXIT FOR
  43.    END IF
  44.  NEXT I
  45.  'Verify good baud rate
  46.  IF BaudCode = -1 THEN
  47.    PRINT "Cannot recognize baud rate "; ARG2$
  48.    END
  49.  END IF
  50.  'Reset port
  51.  Code = SioRxBuf(Port, BufSeg, 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.