Я пытался установить sh связь через последовательный порт в C#. Я вижу, что обработчик событий для чтения данных не срабатывает. Исходные строки - это формат, в котором мне нужно отправить данные в регистр (например, 0000 reg получает значение 1180).
Пожалуйста, дайте мне знать, если я что-то здесь упускаю. PS: просто новичок.
class Program
{
static SerialPort _serialPort;
public static void Main()
{
string phyad = "17";
string regad = "0000";
string value = "1180";
string readad = phyad + regad + "=" + "/";
string combo = phyad + regad + value + "=" + "/";
_serialPort = new SerialPort();
_serialPort.PortName = "COM4";
_serialPort.BaudRate = 9600;
_serialPort.Parity = Parity.None;
_serialPort.DataBits = 8;
_serialPort.StopBits = StopBits.One;
_serialPort.Handshake = Handshake.None;
_serialPort.Open();
_serialPort.DtrEnable = true;
_serialPort.RtsEnable = true;
byte[] data = Encoding.ASCII.GetBytes(combo);
_serialPort.Write(data, 0, data.Length);
_serialPort.DataReceived += new SerialDataReceivedEventHandler(MyDataReceivedHandler);
}
private static void MyDataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
Console.WriteLine(_serialPort.ReadExisting());
}
}