В настоящее время я разрабатываю веб-приложение asp.net для извлечения данных из весового моста, подключенного через порт «COM3».Но всякий раз, когда я читаю данные, он показывает значение как 128, когда вес 0 и с нагрузкой.Я новичок в этой области, следовательно, не знаком с этими кодами.Моя текущая работа ниже:
public byte SendReceiveData()
{
System.IO.Ports.SerialPort SerialObj = new System.IO.Ports.SerialPort("COM3");
//SerialPort SerialObj = new SerialPort();
try
{
//SerialObj.Close();
if (SerialObj.IsOpen == false) //if not open, open the port
{
//SerialObj.Close();
SerialObj.Open();
}
//do your work here
byte[] cmdByteArray = new byte[1];
SerialObj.DiscardInBuffer();
SerialObj.DiscardOutBuffer();
//send
cmdByteArray[0] = 0x7a;
SerialObj.Write(cmdByteArray, 0, 1);
CommTimer tmrComm = new CommTimer();
tmrComm.Start(4000);
while ((SerialObj.BytesToRead == 0) && (tmrComm.timedout == false))
{
Thread.Sleep(0);
//Application.DoEvents();
}
if (SerialObj.BytesToRead > 0)
{
byte[] inbyte = new byte[1];
SerialObj.Read(inbyte, 0, 1);
if (inbyte.Length > 0)
{
byte value = (byte)inbyte.GetValue(0);
int val = Convert.ToInt32(value);
//var vall = SerialObj.ReadLine().ToString();
//return value;
//do other necessary processing you may want.
}
}
tmrComm.tmrComm.Dispose();
SerialObj.DiscardInBuffer();
SerialObj.DiscardOutBuffer();
SerialObj.Close();
return 1;
}
catch(Exception e) {
SerialObj.Close();
return 0;
}
}
Что все изменения сделать, это правильная форма для получения данных из COM-порта.Порт успешно подключен.Также как я могу получить данные в килограммах.
Пожалуйста, помогите.Спасибо