Seite 1 von 3
Delay kleiner als millisekunde
Verfasst: 07.11.2007 12:42
von zigapeda
Hi
ich hab schon mit der suche gesucht aber nix gefunden.
Kann mir einer sagen wie ich ein Delay < als eine millisekunde also z.B. 100µs machen kann?
vielen dank im vorraus mfg zigapeda
Verfasst: 07.11.2007 13:03
von 50-Pfennig
Dabei könnte es schwierigkeiten geben, also, der prozessor muss das mitmachen
Verfasst: 07.11.2007 13:26
von Fluid Byte
Wofür benötigst du eine so hohe Präzision?
Verfasst: 07.11.2007 13:48
von Thalius
Code: Alles auswählen
; Warning! WinAPI used
; returns a QUAD (64bit) usage: mytimer.q = ElapsedCPUCycles()
Procedure.q ElapsedCPUCycles()
Protected tc.q
QueryPerformanceCounter_(@tc.q)
ProcedureReturn tc.q
EndProcedure
mytimer.q = ElapsedCPUCycles()
Debug mytimer.q
Sollte gehn
Thalius
Verfasst: 07.11.2007 14:04
von zigapeda
Ich arbeite mit einer schnittstelle und wenn ich kein Delay benutze kommen die signale zu schnell, wenn ich Delay(1) benutze ist mir das alles zu langsam.
Danke Thalius aber leider kann ich das nicht verwenden, ich brauch ein delay um die auslastung von meiner CPU nicht hochzujagen, so wie ich das seh ist das ja auch nur ein wert, ähnlich wie ElapsedMilliseconds()
Verfasst: 07.11.2007 14:06
von #NULL
@Thalius
hast du zufällig delay() mit elapsedmilliseconds() verwechselt?
<edit> @zigapeda
vielleicht reicht dir ja schon sowas
Code: Alles auswählen
Procedure Delay2()
Static n.l
n+1
If n%3 = 0
Delay(1)
EndIf
EndProcedure
(ist natürlich nur bedingt zu gebrauchten)
Verfasst: 07.11.2007 14:16
von Thalius
hast du zufällig delay() mit elapsedmilliseconds() verwechselt? Smile
AAArgh!!!

- Zeit um in Mittag zu gehn und was zu essen ....
Thalius
Verfasst: 07.11.2007 14:34
von zigapeda
Ne das nützt mir leider auch nix, ich brauch nach jeder signaländerung am seriellen Port ein Delay damit der IC zeit hat das zu verarbeiten...
In dem Buch das ich hier liegen hab wird das alles in Pascal programmiert und ein Befehl namens delayus() benutzt. delayus(1) steht für eine µs so wie ich das verstanden hab also delay(1000) für eine Millisekunde. So was in der Richtung suche ich.
Verfasst: 07.11.2007 14:38
von NicTheQuick
Wenn du das am seriellen Port machst, dann musst du doch nur eine
niedrigere Baudrate nutzen und dann geht es automatisch langsamer.
Verfasst: 07.11.2007 15:00
von Laurin
Ihm gehts dann ja zu langsam.