【问题标题】:Using USB ports for reading & writing data in .net core使用 USB 端口在 .net 内核中读取和写入数据
【发布时间】:2018-09-22 09:27:33
【问题描述】:

您知道如何在 .net core 2.0 中与 USB 端口通信吗?我尝试使用 System.IO.Ports.SerialPort 但它对我不起作用。我厌倦了得到端口,但它什么也没返回。你能帮我解决这个问题吗?我正在尝试向 pos 打印机(EPSON TM-T88V)发送一些打印命令。本打印机支持串口和 USB 端口。我为 EPSON TM-M30(wifi 打印机)做了一个实现,它工作正常,我想对另一台打印机使用相同的命令集,但它只有 USB 和串行端口,我无法与该打印机(TM-T88V)通信以太网或无线网络。我无法分享 wifi 打印机的所有实现,但正如我所提到的,我只是通过套接字发送如下简单的打印命令,我想通过 USB 和串行端口做同样的事情。

Socket clientSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            clientSock.NoDelay = true;
            IPAddress ip = IPAddress.Parse("x.x.x.x");
            IPEndPoint remoteEP = new IPEndPoint(ip, 9100);
            clientSock.Connect(remoteEP);
            var enc = Encoding.ASCII;
            // Send Lines
            byte[] bEsc = new byte[4];
            bEsc[0] = 0x0A;
        bEsc[1] = 0x0A;
        bEsc[2] = 0x0A;
        bEsc[3] = 0x0A;
        clientSock.Send(bEsc);

【问题讨论】:

  • 大多数现代 PC 在插入一些 USB2ComPort 设备之前都没有串口。
  • 另外,请准确指定您使用的软件包。
  • @Henk Holterman,是的,你是对的,我有一台 USB 打印机(pos 打印机),我正在尝试通过 USB 端口发送一些打印命令,但我无法在托管的 .net 核心中使用。我试过 System.IO.Ports 包。
  • USB 打印机通常不是串行打印机。您将不得不添加更多详细信息(打印机型号)、代码和实际/预期结果。
  • @HenkHolterman 嗨,我添加了一些额外的 cmets,希望对你来说足够了。

标签: .net .net-core


【解决方案1】:

您现在可以使用aspnet core >3.x 做到这一点。我已经用ppu-700II 完成了。

using System;using System.IO.Ports;
namespace hello_serialport
{ 
  class Program
  {        
    static void Main(string[] args)        
    {             
      // Get a list of serial port names.             
      string[] ports = SerialPort.GetPortNames();             
      Console.WriteLine("The following serial ports were found:");             
      // Display each port name to the console.             
    foreach(string port in ports)             
    {                 
    Console.WriteLine(port);             
    }             
      Console.ReadLine();        
    }    
  }
}

在打开端口之前不要忘记设置波特率、数据位、停止位、奇偶校验和端口名称。

private static SerialPort comport = new SerialPort();
*set settings and open*
*send commands in hexa*
*close port*

我也有兴趣了解如何与该打印机进行通信(EPSON TM-M30)。你能帮我解决这个问题吗?

【讨论】:

    猜你喜欢
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    相关资源
    最近更新 更多