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

USB通信 专栏收录该内容
3 篇文章 0 订阅

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();
                }
        }
    }
}
 

  • 0
    点赞
  • 6
    评论
  • 15
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值