Я пытаюсь разработать программу с asp.net mvc 5, которая отправляет и принимает команды из последовательного порта на стороне сервера. На самом деле, у меня есть часть оборудования, которое подключено к серверу, и я хочу отправить команду на это оборудование и получить ответ от этого.Как отправлять и получать данные из последовательного порта для серверной части в asp.net mvc
Это метод я использую для передачи данных:
public static void SendData(string data)
{
SerialPort port = new SerialPort(
"COM5", 9600, Parity.None, 8, StopBits.One);
port.Open();
port.Write(data);
port.Close();
}
и это мой способ получить:
public static void ReceiveData()
{
if (port != null && port.IsOpen)
port.Close();
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
port.Open();
}
public static void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int dataLength = port.BytesToRead;
byte[] data = new byte[dataLength];
int nbrDataRead = port.Read(data, 0, dataLength);
if (nbrDataRead == 0)
return;
Taxi.Controllers.ReceiveController.Decision(System.Text.Encoding.UTF8.GetString(data));
}
У меня есть проблема с моим получить методом. Каждый раз, когда мое оборудование отправляет строку, я могу просто увидеть последний символ в моем представлении индекса. Мне интересно, как я могу создать метод получения, который получает все символы строки.
Просьба предоставить код, который вы пробовали до сих пор, чтобы помочь другим лучше ответить на ваш вопрос. –
Я думаю, что ... я так близок к Ответу. Я работаю над этой статьей https://web.archive.org/web/20130709121945/http://msmvps.com/blogs/coad/archive/2005/03/23/SerialPort-_2800_RS_2D00_232-Serial-COM-Port_2900_- in-C_2300 _-. NET.aspx –
Держитесь за ответ от меня позже сегодня. – Snoopy