CL>>Я читаю данные из USB, которые и описывают состояние датчика.
CL>>Датчик является тем самым устройством, которое замыкает/размыкает цепь, подающую сигнал на вход микросхемы FTDI, а она в свою очередь
CL>> переправляет его в USB.
G>Тогда вопрос: в какой момент начинать считывать инфу? Сейчас? Через минуту? Через 10 минут?
Считывать сразу же, как только начинаем запись.
G>Ведь для функции чтения есть TimeOut.
Кстати, я не совсем понимаю что это такое ;(
И чем Time Out отличается от Latency.
G>Прочитав все, могу спросить: Что будет, если машины совсем не поедут?
Да ничего не будет — загорится зеленый и устройство будет ждать получения сигнала от фотоэлемента стоящего на старте.
CL>>WaitForSingleObject в данном случае вешает программу навечно:
CL>>CL>>hEvent := CreateEvent(0,false,false,'');
CL>>FT_SetEventNotification(h,FT_EVENT_RXCHAR,@hEvent);
CL>>WaitForSingleObject(hEvent,Infinite);
CL>>FT_GetStatus(h,@RxBytes,@TxBytes,@EventDWord);
CL>>if RxBytes > 0 then begin
CL>> FT_Read(h,@Buf,1,@Count);
CL>> WriteLn('buf = ',IntToBin(buf));
CL>>end;
CL>>
G>Навечно она останавливается из-за вызова WaitForSingleObject с параметром Infinite.
Если я указываю определенный интервал, WaitForSingleObject заканчивается с результатом WAIT_TIMEOUT, хотя сигнал был и, стало быть, hEvent должен быть Signalled
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>