0


0

このシリアル通信プログラムを手伝ってください

これは何が問題なのですか? TReXモーターコントローラーと通信しようとしています。 次のデータ「DA 1F 1F」または「0xDA 0x1F 0x1F」を送信する必要があります

using System;
using System.IO.Ports;
using System.Threading;

public class PortChat
{
    static SerialPort _serialPort;
    public static void Main()
    {

        StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;
        // Create a new SerialPort object with default settings.
        _serialPort = new SerialPort();
        _serialPort.PortName = "COM3";
        _serialPort.Open();
        _serialPort.BaudRate = 19200;
        _serialPort.DataBits = 8;
        _serialPort.Parity = Parity.None;
        _serialPort.StopBits = StopBits.One;
        _serialPort.Write("Byte[DA 1F 1F]");
        _serialPort.Close();
    }
}

1 Answer


2


  1. 必要なパラメーターでComポートインスタンスを作成します。

  2. COMポートを開く

  3. コマンドを書き込む

  4. それを閉じる

        static SerialPort _serialPort;
        public static void Main()
        {
            _serialPort = new SerialPort();
            _serialPort.PortName = "COM3";
            _serialPort.BaudRate = 19200;
            _serialPort.DataBits = 8;
            _serialPort.Parity = Parity.None;
            _serialPort.StopBits = StopBits.One;
    
    
        _serialPort.Open();
    
    
        byte[] command = new byte[] { 0xDA, 0x1F, 0x1F };
        _serialPort.Write(command, 0, command.Length);
    
    
        _serialPort.Close();
    }