home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9302 / signals / ts / p1.mod < prev    next >
Encoding:
Text File  |  1993-01-19  |  1.1 KB  |  50 lines

  1. MODULE P1;
  2.  
  3.  
  4. FROM PortSig    IMPORT PortSIGNAL,PortFLAG,
  5.                        SignalInit,SignalDone,
  6.                        SendSignalTo,WaitForSignalAndClear;
  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_P1);
  22.  
  23.   REPEAT
  24.     INC( count1);
  25.  
  26.     IO.WrStr("P1: Waiting for Signal... ");
  27.     WaitForSignalAndClear( sig);
  28.     IO.WrStr("Signal received.");
  29.     count2 := 0;
  30.     REPEAT
  31.       INC( count2);
  32.       SendSignalTo( sig, f_P2);
  33.       IO.WrStr("  Signal sent to P2."+EOL);
  34.  
  35.       IO.WrStr("P1: Waiting for Signal... ");
  36.       WaitForSignalAndClear( sig);
  37.       IO.WrStr("Signal received.");
  38.     UNTIL count2 = 5;
  39.  
  40.     IF count1 < 2 THEN
  41.       SendSignalTo( sig, f_P2);
  42.       IO.WrStr("  Signal sent to P2."+EOL);
  43.     ELSE
  44.       IO.WrStr("  Program ends, no more Signals sent !"+EOL);
  45.     END;
  46.   UNTIL count1 = 2;
  47.  
  48.   SignalDone( sig);
  49. END P1.
  50.