Delay kleiner als millisekunde

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Delay kleiner als millisekunde

Beitrag 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
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
50-Pfennig
Beiträge: 75
Registriert: 22.01.2007 22:24
Wohnort: 40764 Langenfeld
Kontaktdaten:

Beitrag von 50-Pfennig »

Dabei könnte es schwierigkeiten geben, also, der prozessor muss das mitmachen
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Wofür benötigst du eine so hohe Präzision?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag 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
"...smoking hash-tables until until you run out of memory." :P
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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()
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag 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)
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

hast du zufällig delay() mit elapsedmilliseconds() verwechselt? Smile
AAArgh!!! :lol: - Zeit um in Mittag zu gehn und was zu essen .... :)

Thalius
"...smoking hash-tables until until you run out of memory." :P
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Wenn du das am seriellen Port machst, dann musst du doch nur eine
niedrigere Baudrate nutzen und dann geht es automatisch langsamer.
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Ihm gehts dann ja zu langsam.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Antworten