public void GetEigenFrequenz()
        {
//			int count = 1000000;
//			DateTime start = DateTime.Now;
//			for(int i = 0; i < count; i++)
//				da.SetVoltage(0);
//
//			DateTime end = DateTime.Now;
//			TimeSpan dauer = new TimeSpan (end.Ticks - start.Ticks);
//			Console.WriteLine (count + " mal set voltage dauert " + dauer.TotalMilliseconds + "ms.");

            int counter = 0;

            //.net warmup
            for (counter = 0; counter < 10000; counter++)
            {
                da.SetVoltage(0);
            }

            DateTime end   = DateTime.Now;              //Die Zeit zum Allokieren des end DateTimes in der Schleife verfälscht bis 4 sec erheblich!!!
            DateTime start = DateTime.Now;

            for (counter = 0; counter < BitTiefe * 10; counter++)
            {
                da.SetVoltage(WaveTable[counter % (WaveTableLength)]);
            }

            end = DateTime.Now;
            TimeSpan dauer = new TimeSpan(end.Ticks - start.Ticks);

            eigenfrequenz = 5000 / (float)dauer.TotalMilliseconds;              //10 Durchläufe sind 5 Schwingungen, 1000ms = 1 sec
            Console.WriteLine(eigenfrequenz);
        }
예제 #2
0
        private static void AD_8562_Parallel()
        {
            WirinPiWrapper wiringPiLib = new WirinPiWrapper();

            wiringPiLib.WiringPiSetupGpio();

            DA_8562FPZ_Parallel da = new DA_8562FPZ_Parallel(wiringPiLib);

            while (true)
            {
                da.SetVoltage(0);
                Thread.Sleep(50);
                da.SetVoltage(2047);
                Thread.Sleep(50);
                da.SetVoltage(4095);
                Thread.Sleep(50);
            }
        }