internal class Program
{
static short[] toShortArray(byte[] src)
{
int count = src.Length >> 1;
short[] dest = new short[count];
for (int i = 0; i < count; i++)
{
dest[i] = (short)(src[i * 2] << 8 | src[2 * i + 1] & 0xff);
}
return dest;
}
static void Main(string[] args)
{
//UsbSession session = new UsbSession("USB0::0x5345::0x1234::SERIAL::RAW");
//IMessageBasedRawIO io = session.RawIO;
//io.Write(":DATA:WAVE:SCREen:CH1?");
//string result = io.ReadString();
ResourceManager rm = new ResourceManager();
string[] resources = rm.Find("USB?*").ToArray();
var session = (MessageBasedSession)rm.Open(resources[0]);
IMessageBasedRawIO io = session.RawIO;
io.Write("*CLS;*RST\n");
io.Write(":CH1:DISPlay ON\n");
io.Write(":CH2:DISPlay OFF\n");
io.Write(":CH1:COUPling DC\n"); //dc 耦合 io.Write(":CH1:COUPling?\n");
io.Write(":HORIzontal: OFFset 1");
io.Write(":HORIzontal: SCALe 1ms\n");
io.Write(":CH1:SCALe 2v\n");
io.Write(":CH1:OFFSet -1.5\n"); //ch1 垂直偏移
//io.Write(":TRIGger:TRIG\n");
//io.Write(":TRIGger:STATUS?\n");
io.Write(":DATA:WAVE:SCREen:CH1?\n");
byte[] bytes = io.Read();
short[] arr = toShortArray(bytes);
//string result = Encoding.UTF8.GetString(bytes);
//Console.WriteLine(result);
Console.ReadLine();
session.Dispose();
rm.Dispose();
}
}