www.mikrocontroller.net

Forum: PC-Programmierung Wait in VB.Net diesmal aber mal Mikrosekunden GENAU!!


Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Suche ein Kommando in VB.Net , mit dem ich Mikrosekunden warten kann.
Millisekunden sind mir schon klar. Würde mit Timespan gehen.

Suche aber MIKROSEKUNDEN !!!

Nun gibt es ja noch:
System.Threading.Thread.SpinWait(1000)

Aber wieviel ist ein Tick? Auch 100nS ??

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dir ist klar das unter VB.NET bzw. Windows generell vom Userspace aus 
garkeine Möglichkeit besteht, genau zu warten?
Das Beste was du erreichen kannst, ist mindestens XXX µs zu warten, 
eben mit der Einschränkung das es auch mal länger dauert.

Zur Frage: Der Parameter bei SpinWait gibt nur eine Anzahl an 
Schleifendurchläufen an. Wie lange ein Durchlauf dauert ist nicht 
definiert, hängt z.B. von deiner CPU-Frequenz ab. Und kann deswegen auch 
ständig schwanken, weil neuere CPUs die Frequenz zum Stromsparen 
variieren.

Autor: KptnCrunch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Über Schleife Ticks abfragen. Zwar nich 100% Genauigkeit aber sollte 
ausreichen.

DateTime.Ticks

Autor: Oliver R. (superberti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

was hast Du denn vor? Am besten, Du überdenkst Dein Design noch 
einmal...
Ansonsten liefern die Win32-Funktionen QueryPerformanceCounter und 
QueryPerformanceFrequency die genauesten Ergebnissse. Ein busy-wait mit 
diesen Funktionen dürfte wohl am genauesten sein, wobei jeder 
dazwischengekommene Task-Switch die ganze Aktion hinfällig werden läßt.
Für solch kleine Wartezeiten ist Windows nix...

Gruß, Oliver

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lagere das Ganze auf einen Controller aus. Im PC wird das nichts.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.