C# USB同步通信——接收数据

C#,接收USB设备传输来的数据,并保存到文件中,本示例中仅接收512字节数据并保存。

可以使用线程,不断接收数据。

注意先添加CyUSB.dll引用

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using CyUSB;

namespace USBSynCommDemo
{
    public partial class Form1 : Form
    {
        string filePath = @"D:\abc.dat";
        int len = 512;
        USBDeviceList usbDevices;
        CyUSBDevice MyDevice;

        public Form1()
        {
            InitializeComponent();
            usbDevices = new USBDeviceList(CyConst.DEVICES_CYUSB);
            MyDevice = usbDevices[0x04B4, 0x1003] as CyUSBDevice;  //   设备的VID-PID  
        }

        //点击开始按钮,开始接收USB传来的数据
        private void StartBtn_Click(object sender, EventArgs e)
        {           
            if (MyDevice != null)
                if (MyDevice.BulkInEndPt != null)
                {                   
                    byte[] buf = new byte[len];
                    MyDevice.BulkInEndPt.XferData(ref buf, ref len);//同步传输
                    FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
                    fs.Write(buf, 0, len);
                    fs.Close();
                }
        }
    }
}
 

你可能感兴趣的:(USB通信,C#,USB,CyUSB.dll)