• 大小: 75KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-06-25
  • 语言: C#
  • 标签: cyusb  usb  C#  源码  

资源简介

调用cyUSB.dll类库进行USB串口通讯,开发上位机适用。

资源截图

代码片段和文件信息

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


namespace CSharpUSBTest {
    public partial class Form1 : Form {
        App_PnP_Callback evHandler;
        CyUSBDevice loopDevice = null;
        USBDeviceList usbDevices = null;
        CyBulkEndPoint inEndpoint = null;
        CyBulkEndPoint outEndpoint = null;

        Thread tXfers;
        bool bRunning = false;

        int value;
        long outCount inCount;

        const int XFERSIZE = 256;
        byte[] outData = new byte[XFERSIZE];
        byte[] inData = new byte[XFERSIZE];

        // These 2 needed for TransfersThread to update the UI 
        delegate void UpdateUICallback();
        UpdateUICallback updateUI;


        public Form1() {
            InitializeComponent();

            // Setup the callback routine for updating the UI 
            updateUI = new UpdateUICallback(StatusUpdate);

            // Setup PnP event handling 
            evHandler = new App_PnP_Callback(PnP_Event_Handler);

            // Create a list of CYUSB devices 
            usbDevices = new USBDeviceList(CyConst.DEVICES_CYUSB evHandler);

            setDevice();
        }

        public void setDevice() {
            if (usbDevices.Count > 0)
                loopDevice = usbDevices[0x0547 0x0080] as CyUSBDevice;

            StartBtn.Enabled = (loopDevice != null);

            if (loopDevice != null)
                Text = loopDevice.FriendlyName;
            else
                Text = “Bulkloop - no device“;

            // Set the in and out endpoints per the selected radio buttons. 
            EptPair1Btn_Click(this null);
        }

        public void PnP_Event_Handler(IntPtr pnpEvent IntPtr hRemovedDevice) {
            if (pnpEvent.Equals(CyConst.DBT_DEVICEREMOVECOMPLETE)) {
                usbDevices.Remove(hRemovedDevice);
                //loopDevice = null; 
                setDevice();
            }

            if (pnpEvent.Equals(CyConst.DBT_DEVICEARRIVAL)) {
                usbDevices.Add();
                setDevice();
            }
        }

        private void Form1_FormClosing(object sender FormClosingEventArgs e) {
            // If close was selected while running the loopback shut it down. 
            if (bRunning)
                StartBtn_Click(this null);

            if (usbDevices != null) usbDevices.Dispose();
        }

        private void EptPair1Btn_Click(object sender EventArgs e) {
            if (loopDevice != null) {
                if (EptPair1Btn.Checked) {
                    outEndpoint = loopDevice.EndPointOf(0x02) as CyBulkEndPoint;
                    inEndpoint = loopDevice.EndPointOf(0x86) as CyBulkEndPoint;
                } else {
                    outEndpoint = loopDevice.EndPointOf(0x04) 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24576  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\bin\Debug\CSharpUSBTest.exe

     文件      30208  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\bin\Debug\CSharpUSBTest.pdb

     文件       5632  2005-11-11 22:25  CSharpUSBTest\CSharpUSBTest\bin\Debug\CSharpUSBTest.vshost.exe

     文件     118784  2009-06-05 16:12  CSharpUSBTest\CSharpUSBTest\bin\Debug\CyUSB.dll

     文件       3326  2011-02-28 15:12  CSharpUSBTest\CSharpUSBTest\CSharpUSBTest.csproj

     文件       6323  2011-02-28 15:23  CSharpUSBTest\CSharpUSBTest\Form1.cs

     文件      12126  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\Form1.Designer.cs

     文件        890  2011-02-28 15:28  CSharpUSBTest\CSharpUSBTest\obj\CSharpUSBTest.csproj.FileListAbsolute.txt

     文件        784  2011-02-28 15:22  CSharpUSBTest\CSharpUSBTest\obj\Debug\CSharpUSBTest.csproj.GenerateResource.Cache

     文件      24576  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\obj\Debug\CSharpUSBTest.exe

     文件      30208  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\obj\Debug\CSharpUSBTest.pdb

     文件        180  2011-02-28 15:22  CSharpUSBTest\CSharpUSBTest\obj\Debug\CSharpUSBTest.Properties.Resources.resources

     文件       4562  2011-02-28 15:22  CSharpUSBTest\CSharpUSBTest\obj\Debug\ResolveAssemblyReference.cache

     文件        457  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Program.cs

     文件       1192  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Properties\AssemblyInfo.cs

     文件       2793  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Properties\Resources.Designer.cs

     文件       5612  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Properties\Resources.resx

     文件       1070  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Properties\Settings.Designer.cs

     文件        249  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Properties\Settings.settings

     文件        928  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest.sln

    ..A..H.     14336  2011-02-28 15:31  CSharpUSBTest\CSharpUSBTest.suo

     目录          0  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\obj\Debug\Refactor

     目录          0  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\obj\Debug\TempPE

     目录          0  2011-02-28 15:23  CSharpUSBTest\CSharpUSBTest\bin\Debug

     目录          0  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest\obj\Debug

     目录          0  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\bin

     目录          0  2011-02-28 15:22  CSharpUSBTest\CSharpUSBTest\obj

     目录          0  2011-02-28 15:10  CSharpUSBTest\CSharpUSBTest\Properties

     目录          0  2011-02-28 15:27  CSharpUSBTest\CSharpUSBTest

     目录          0  2011-02-28 15:10  CSharpUSBTest

............此处省略3个文件信息

评论

共有 条评论