home *** CD-ROM | disk | FTP | other *** search
/ Aminet 10 / aminetcdnumber101996.iso / Aminet / dev / src / SerialClass1_0.lha / EXAMPLE.cc next >
Encoding:
C/C++ Source or Header  |  1995-12-11  |  2.8 KB  |  82 lines

  1. #include "SerialClass.h"
  2.  
  3. //    Paul Cimino 1995
  4. //    Example program using the SerialClass
  5. //    Opens a serialport using parameters given,
  6. //     sends a character out to a terminal, then waits
  7. //    for a character
  8. //
  9.  
  10. int
  11. main(void)
  12. {
  13.         // create a SerialClass called "myPort", use 1200, 8N1, let everything
  14.         // else default
  15.         SerialClass    myPort(SERIALNAME, "SerialTest", 0, 1200, 8, 1, NONE);
  16.  
  17.         // overloaded the stream operators
  18.         myPort << 'k';
  19.         char    tempCh;
  20.         myPort >> tempCh;
  21.         cout << tempCh << endl;
  22.         
  23.         // send a charcater out of the port
  24.         myPort.writeByte((UBYTE)'j');
  25.         myPort.writeByte((UBYTE)'\n');
  26.  
  27.  
  28.     // get a character back
  29.     cout << " Asking port for a character : " << flush;
  30.     cout << "Received : " << (char)myPort.readByte() << endl;
  31.  
  32.     // send a string
  33.         char *dum = "Howdy !\n";
  34.         myPort.writeData((UBYTE *) dum, strlen(dum));
  35.         myPort.write(dum);
  36.         
  37.     // get three bytes back
  38.     cout << "Getting three chars back : " << flush;
  39.     cout << myPort.read(3) << endl;
  40.  
  41.     // get bytes until newline
  42.     cout << "Getting a line : " << flush;
  43.     cout << (char *)myPort.read() << endl;
  44.         
  45.         // Also overloaded the >> operator to handle character IO
  46.         char ch1, ch2;
  47.         myPort >> ch1 >> ch2;// can be used recusively !
  48.         cout << "Using >> operator to get two characters : " << flush;
  49.         cout << ch1 << " and " << ch2 << endl;
  50.         
  51.         cout << "Using << to send the two characters back in reverse order " << endl;
  52.         // similarly the << operator can put characters into the stream
  53.         myPort << ch2 << ch1;// can't use flush or endl, remeber this isn't
  54.                              // the same as cout, this could be soled if
  55.                              // the serial port could be openned 
  56.                              // as a file stream, THEN I WOULDN'T HAVE TO
  57.                              // DO ALL THIS MESS !
  58.                              
  59. // Wanted to be able to use << and >> with strings, but needs some work
  60. /*        // similarly, we can use << and >> for strings, let's try it !
  61.         cout << "Sending a string using <<" << endl;
  62.         myPort << "\nThis is a test \n\n\r";
  63.         cout << "Waiting for a line of text" << endl;
  64.         char *mystring = new char [1024];
  65.         // WARNING ! you must allocate enough memory for this to work
  66.         // any memory allocated inside the function will go away
  67.         myPort >> mystring;
  68.         cout << "Received the string : " << mystring << endl;
  69.         
  70.         // finally, should be able to mix these
  71.         cout << "Waiting for a another line . . . " << endl;
  72.         myPort >> ch1 >> mystring;
  73.         cout << "The first character was " << ch1 ;
  74.         cout << " The rest of the line was " << mystring < endl;
  75.         
  76.                              
  77.         delete [] mystring;
  78. */
  79.  
  80.     return 1;
  81. }
  82.