home *** CD-ROM | disk | FTP | other *** search
- MODULE P2;
-
-
- FROM PortSig IMPORT PortSIGNAL,PortFLAG,
- SignalInit,SignalDone,
- SendSignalTo,SignalReceived,ClearOwnSignal;
- IMPORT IO;
-
-
- CONST
- PortADR = 763; (* COM2-Base 2F8H + 3 *)
- EOL = CHR( 13) + CHR( 10);
-
- VAR
- sig : PortSIGNAL;
- count1,
- count2 : CARDINAL;
-
- BEGIN
- count1 := 0;
- sig := SignalInit( PortADR, f_P2);
-
- IO.WrStr("P2: Waiting for Signal... ");
- REPEAT
- INC( count1);
- count2 := 0;
- REPEAT
- IF SignalReceived( sig) THEN
- INC( count2);
- IO.WrStr("Signal received.");
- ClearOwnSignal( sig);
- IO.WrStr("P2: Waiting for Signal... ");
-
- IF count2 < 5 THEN
- SendSignalTo( sig, f_P1);
- IO.WrStr(" Signal sent to P1."+EOL);
- END;
- END;
-
- UNTIL count2 = 5;
- IO.WrStr("-- inner Loop ended."+EOL);
- UNTIL count1 = 2;
-
- SignalDone( sig);
- END P2.
-