LPT-порт

Работа с LPT-портом происходит только в процедуре lptThread(), в отдельном потоке, ПРИ УСЛОВИИ успешно загруженой библиотеки InpOut32.DLL, в противном случае - тесты 1-5 недоступны.

Процедура запускается из главной процедуры Тестирования - TestProc() и самостоятельно завершает свою деятельность, когда снимается флаг STATUS_TESTING в переменной gStatus.

Выходы ПЗЗМ подключаются к LPT-порту к контактам N10-N13 и N32, согласно комментарию к этой процедуре.

// процедура, считывающая с LPT-порта в отдельном потоке
int WINAPI lptThread(){
short b;
/*  LPT Status Byte
N11 1xxx xxxx "3Io -"
N10 x0xx xxxx "3Io +"
N12 xx0x xxxx "3Uo +"
N13 xxx0 xxxx "3Uo -"
N32 xxxx 0xxx "3Uo НЧ"

AllWorkByte 1000 0xxx - 0x80
AllRestByte 0111 1xxx - 0x7F
*/
  while( gStatus& STATUS_TESTING ){
    if( gStatus& STATUS_WAVING ){
       b = Inp32(0x379);  // Читаем из LPT-порта
       if( !(b& 0x10) ) TestInc( &U3Uom, AMP4);
       if( !(b& 0x20) ) TestInc( &U3Uop, AMP3);
       if( !(b& 0x40) ) TestInc( &U3Iop, AMP2);
       if(  (b& 0x80) ) TestInc( &U3Iom, AMP1);
       if( !(b& 0x08) ) TestInc( &U3Uo,  AMP5);
    }
  }
  return 1;
}