home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9302 / signals / ts / p2.mod < prev    next >
Encoding:
Text File  |  1993-03-01  |  988 b   |  46 lines

  1. MODULE P2;
  2.  
  3.  
  4. FROM PortSig    IMPORT PortSIGNAL,PortFLAG,
  5.                        SignalInit,SignalDone,
  6.                        SendSignalTo,SignalReceived,ClearOwnSignal;
  7. IMPORT IO;
  8.  
  9.  
  10. CONST
  11.         PortADR = 763;         (* COM2-Base 2F8H + 3 *)
  12.         EOL     = CHR( 13) + CHR( 10);
  13.  
  14. VAR
  15.         sig     : PortSIGNAL;
  16.         count1,
  17.         count2  : CARDINAL;
  18.  
  19. BEGIN
  20.   count1 := 0;
  21.   sig := SignalInit( PortADR, f_P2);
  22.  
  23.   IO.WrStr("P2: Waiting for Signal... ");
  24.   REPEAT
  25.     INC( count1);
  26.     count2 := 0;
  27.     REPEAT
  28.       IF SignalReceived( sig) THEN
  29.         INC( count2);
  30.         IO.WrStr("Signal received.");
  31.         ClearOwnSignal( sig);
  32.         IO.WrStr("P2: Waiting for Signal... ");
  33.  
  34.         IF count2 < 5 THEN
  35.           SendSignalTo( sig, f_P1);
  36.           IO.WrStr("  Signal sent to P1."+EOL);
  37.         END;
  38.       END;
  39.  
  40.     UNTIL count2 = 5;
  41.     IO.WrStr("-- inner Loop ended."+EOL);
  42.   UNTIL count1 = 2;
  43.  
  44.   SignalDone( sig);
  45. END P2.
  46.