繁体   English   中英

使用C#从USB读取数据?

[英]Reading data from USB using C#?

我不想读串口或其他可能的简单快捷方式。 我想知道如何使用C#读取笔记本电脑中的USB端口。 无论您是建议网站还是解释流程,我都将非常感谢您的帮助

如果您想进行USB开发,Jan Axelson(USB Complete的作者) 网站通常是一个很好的起点。

编辑:假设这是你想要与通信的HID 这个文章可能是有用的,包括C#的样品。

这里的假设是您想要在Windows上读取数据。 这是一个代码示例:

    public override async Task<byte[]> ReadAsync()
    {
        return await Task.Run(() =>
        {
            var bytes = new byte[ReadBufferSize];
            //TODO: Allow for different interfaces and pipes...
            var isSuccess = WinUsbApiCalls.WinUsb_ReadPipe(_DefaultUsbInterface.Handle, _DefaultUsbInterface.ReadPipe.WINUSB_PIPE_INFORMATION.PipeId, bytes, ReadBufferSize, out var bytesRead, IntPtr.Zero);
            HandleError(isSuccess, "Couldn't read data");
            Tracer?.Trace(false, bytes);
            return bytes;
        });
    }

    [DllImport("winusb.dll", SetLastError = true)]
    public static extern bool WinUsb_ReadPipe(SafeFileHandle InterfaceHandle, byte PipeID, byte[] Buffer, uint BufferLength, out uint LengthTransferred, IntPtr Overlapped);

所有代码和示例(包括其他平台)都可以在这里找到: https//github.com/MelbourneDeveloper/Device.Net

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM