Da ich absoluter Anfänger bin, die Frage wie würden denn der Code aussehen wenn ich
eine Schleife haben möchte die alle 300µs eine SerialPortRead ausführt.
Danke
Gruß
Wolfram
Delay kleiner als millisekunde
Re: Delay kleiner als millisekunde
OSX 10.13 | PB 5.46
Re: Delay kleiner als millisekunde
Ich hoffe du möchtest damit keine Daten senden oder empfangen, denn dafür gibt es ja OpenSerialPort() wo du eine Lese/Schreib-Geschwindigkeit angeben kannst.
Ansonsten zB mit der DelayMicroSeconds() Funktion:
Hier wird 1000 mal 300µs gewartet, was also 300ms entspricht.
Hier dann eine Anwendungsmöglichkeit.
Ansonsten zB mit der DelayMicroSeconds() Funktion:
Code: Alles auswählen
Global QueryPerformanceFrequency.q, QueryPerformanceFactor.f
QueryPerformanceFrequency_(@QueryPerformanceFrequency)
QueryPerformanceFactor = 1e6/QueryPerformanceFrequency
Procedure DelayMicroSeconds(Time.q)
Protected StartTime.q, EndTime.q
QueryPerformanceCounter_(@StartTime)
Repeat
Delay(0)
QueryPerformanceCounter_(@EndTime)
Until (EndTime-StartTime)*QueryPerformanceFactor > Time
EndProcedure
a = ElapsedMilliseconds()
For n = 1 To 1000
DelayMicroSeconds(300)
Next
Debug ElapsedMilliseconds()-a
Hier dann eine Anwendungsmöglichkeit.
Code: Alles auswählen
Repeat
DelayMicroSeconds(300)
GetSerialPortStatus(#SerialPort, #PB_SerialPort_CTS)
ForEver()
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr