SSPC-Tester/Docs/PCIe8586驱动接入资料/examples/ConsoleIntegration/Program.cs

45 lines
1.3 KiB
C#
Raw Normal View History

using Pcie8586Probe.Hardware;
using Pcie8586Probe.Models;
using var digitizer = new Pcie8586Digitizer();
using var cancellation = new CancellationTokenSource(TimeSpan.FromSeconds(2));
var devices = await digitizer.EnumerateDevicesAsync(CancellationToken.None);
if (devices.Count == 0)
{
Console.Error.WriteLine("未发现设备。请确认板卡、厂商驱动和 ACTS1000_64.dll 均已正确安装。");
return 1;
}
var config = new AcquisitionConfig(
ChannelCount: 1,
InputRange: InputRange.PlusMinus5V,
ClockDivider: 100,
Mode: AcquisitionMode.Continuous,
FiniteSamplesPerChannel: 10_000);
try
{
await digitizer.OpenAsync(devices[0], CancellationToken.None);
await digitizer.ConfigureAsync(config, CancellationToken.None);
await foreach (var block in digitizer.StartAcquisitionAsync(cancellation.Token))
{
Console.WriteLine(
$"起始点={block.StartSampleIndex}, 每通道点数={block.SamplesPerChannel}, " +
$"通道数={block.ChannelCount}, 采样率={block.SampleRateHz:N0} Hz, " +
$"CH0首点={block.Channels[0][0]:F6} V");
}
}
catch (OperationCanceledException)
{
// 示例按预定时间结束。
}
finally
{
await digitizer.StopAsync();
await digitizer.CloseAsync();
}
return 0;