4
435214
Unregistered / Unconfirmed
GUEST, unregistred user!
我是菜鸟,我在工作中经常碰到这类问题.计算机检测到某个开关量后进行某个动作,然后又检测下一个开关量,进行某个动作.我是用Timer定时检测的,但是,开关量的脉冲宽度很窄,大约是<5ms,经常检测不到信号.我该怎么办??如用多线程,请给我一个示例源程序,谢谢好心人了!!不用线程是否可行???我邮箱是:feimd73@163.com.
我的源码如下:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
case workstate of
10:begin
if inportb($200)=$01 then workstate:=20;
end;
20:begin
if inportb($200)=$02 then workstate:=30;
end;
30:begin
if inportb($200)=$04 then workstate:=10;
end;
end;
end;
我的源码如下:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
case workstate of
10:begin
if inportb($200)=$01 then workstate:=20;
end;
20:begin
if inportb($200)=$02 then workstate:=30;
end;
30:begin
if inportb($200)=$04 then workstate:=10;
end;
end;
end;