并口问题一问(100分)

  • 主题发起人 主题发起人 ninny
  • 开始时间 开始时间
N

ninny

Unregistered / Unconfirmed
GUEST, unregistred user!
我用控件smallPort给并口发送命令,一个正脉冲和一个负脉冲。然后用示波器检测,却
发现正脉冲和负脉冲的波形不一样,尤其是低电平的宽度很不一样。相差大概3倍多,请问
是怎么回事啊。
发送命令程序如下:
if isForward then //正转一步
begin
myPort.port[port]:=0;
for i:=1 to delay do ;//sleep(delay);
myPort.port[port]:=1;
for i:=1 to DelayStep do ;
end else //反转一步
begin
myPort.port[port]:=2;
for i:=1 to delay do ;//sleep(delay);
myPort.port[port]:=3;
for i:=1 to DelayStep do ;
end;
我调用的时候用一个循环,调用上面的函数。
 
May be 缓存
 
你能说详细一些么?
 
并口的速度你查过么?
我感觉在硬件上的问题可能是主要的
 
可以试试延长延迟时间的方法,
如果你是用98的话,还可以试一下直接嵌汇编,而不用控件
 
执行时间并不一定平均(因为是操作系统是多任务的)
因此for i:=1 to DelayStep do ;不是一定就时间相等。
你应该用 api: Sleep(毫秒数) 来延时
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
908
SUNSTONE的Delphi笔记
S
S
回复
0
查看
885
SUNSTONE的Delphi笔记
S
S
回复
0
查看
829
SUNSTONE的Delphi笔记
S
S
回复
0
查看
788
SUNSTONE的Delphi笔记
S
S
回复
0
查看
742
SUNSTONE的Delphi笔记
S
后退
顶部