home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 13 / MA_Cover_13.bin / source / c / stefanb_src / private_projects / fax / test.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-06  |  1023 b   |  54 lines

  1. /* Test program for serial routines */
  2.  
  3. #include "serio.h"
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include <clib/dos_protos.h>
  8.  
  9. char cmd[80];
  10. char buffer[10000];
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14.  struct SerialStream *ss;
  15.  
  16.  if (ss=CreateSerialStream("serial.device",2,SERF_SHARED|SERF_7WIRE))
  17.   {
  18.    SetSerialParamsTags(ss,SIO_Baud,19200,TAG_DONE);
  19.  
  20.    printf("serial stream created! bps: %d\n",ss->ss_Baud);
  21.  
  22.    ss->ss_Cmd->IOSer.io_Command=CMD_CLEAR;
  23.    DoIO((struct IORequest *) ss->ss_Cmd);
  24.  
  25.    while (1)
  26.     {
  27.      int len;
  28.      char *cp;
  29.  
  30.      scanf("%s",cmd);
  31.      if (feof(stdin)) break;
  32.      len=strlen(cmd);
  33.      cmd[len++]='\r';
  34.      cmd[len]='\0';
  35.  
  36.      WriteSerialSynch(ss,cmd,len);
  37.      puts("write");
  38.  
  39.      QuerySerial(ss);
  40.      if (ss->ss_Unread>0)
  41.       {
  42.        len=ReadSerialSynch(ss,buffer,ss->ss_Unread);
  43.        printf("read %d chars\n",len);
  44.        cp=buffer;
  45.        while (len--) putchar(*cp++);
  46.        puts("\n---");
  47.       }
  48.     }
  49.  
  50.    DeleteSerialStream(ss);
  51.   }
  52.  return(0);
  53. }
  54.