1
에서 서버 쪽 직렬 포트에서 데이터를받는 방법 서버 쪽의 직렬 포트에서 명령을 보내고받는 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));
}
. 하드웨어가 문자열을 보낼 때마다 색인보기에서 마지막 문자 만 볼 수 있습니다. 게시 된 문자열의 모든 문자를받는 receive 메서드를 만드는 방법이 궁금합니다.
당신은 다른 사람들이 더 나은 귀하의 질문에 대답하기 위해 지금까지 노력했다 코드를 입력하십시오. –
나는 그것이 ... 나는 대답에 너무 가깝다고 생각한다. 이 기사를 작성하고 있습니다. 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