Avatar billede microjet Nybegynder
09. september 2008 - 23:18 Der er 2 kommentarer og
1 løsning

Timer i microsekunder - hvordan gør man?

Hvordan laver man en timer i microsekunder. Jeg har brug for større nøjagtighed til at vippe lidt med nogle portben på printerporten (PWM signaler).
Avatar billede aaberg Nybegynder
10. september 2008 - 08:48 #1
Det er ikke alle computere der er i stand til at måle tid så præcist. Men se på StopWatch klassen. Den bruger en "high resolution performance counter", hvis hardwaren understøtter det, ellers bruger den system timeren, som har en præcision på 15 millisekunder, eller noget i den størrelsesorden.

Men læs dokumentationen, og se om det eventuelt er noget du kan bruge:
http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx
Avatar billede bitmatic Nybegynder
10. september 2008 - 10:27 #2
Prøv med noget lignende af det her.... Vil ikke garantere at det kan kompile.



using System;
using System.Runtime.InteropServices;

namespace eksperten
{
  public class PerformanceTimer
  {
    #region imports
    [DllImport("CoreDll.dll")]
    public static extern int QueryPerformanceFrequency(ref Int64 lpFrequency);
    [DllImport("CoreDll.dll")]
    public static extern int QueryPerformanceCounter(ref Int64 lpPerformanceCount);
    #endregion

    private Int64 _frequency;
    private Int64 _startPoint;
    private Int64 _stopPoint;
   
    public PerformanceTimer()
    {
      QueryPerformanceFrequency(ref _frequency);
      QueryPerformanceCounter(ref _startPoint);
    }

    public void Restart()
    {
      QueryPerformanceCounter(ref _startPoint);
    }

    public float Split()
    {
      QueryPerformanceCounter(ref _stopPoint);
      return GetDuration(_stopPoint);
    }

    private float GetDuration(Int64 point)
    {
      return (float)(point - _startPoint) / (float)_frequency;
    }
  }
}
Avatar billede microjet Nybegynder
18. januar 2011 - 00:24 #3
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester