Hallo Zusammen,
Code:
while daten_lesen do
if bit_gesetzt then
lese_daten;
Das klappt auch alles wunderbar und genau 300 mal pro Sekunde,...
Vielen Dank für die Hilfe
Nach dem Abtasttheorem must Du nur alle 1,5 msec gucken.
Bau ein Delay von 1,5 bis 2 msec ein, aber nicht mit SLEEP!
Dann kommst Du auf ca. 7% CPU-Last!
http://www.delphipraxis.net/6620-delay.html
Delphi-Quellcode:
procedure Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
if Application.Terminated then Exit;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
end;