Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
procedure TForm2.Timer1Timer(Sender: TObject);
begin
// RS232----------------------------------------------------------
if (old_time/24=int(old_time/24)) then
begin
CloseHandle(hCom); // РАЗ в 24 секунды делаем
//процедуру переустановки связи
hCom:= CreateFile(pchar(Stroka),GENERIC_READ or GENERIC_WRITE, 0, nil,OPEN_EXISTING,0,0);
end
else // на всякий случай считываем данные тогда,
// когда нет процедуры disconect/connect
begin
buf[0]:=0; // buf:array[0..10] of Byte
// ReadData:DWord;
ReadFile(hCom,buf,10,ReadData,nil);
RX_string:=buf[0]; //RX_string:integer;
PurgeComm (hCom, PURGE_RXCLEAR);
end;
if (RX_string=128) then
begin;
power_prj:=0;
buf[0]:=0;
end;// --------------------------------------------------------------
end;
Блин, вначале написал софтину, всё работало. Потом решил переделать, что-то поизменял по программе и вот... алес. Порт открывается, отправляет данные.... Но при чтении по таймеру происходит зависание "на мертво" - ткните носом,где не так?