На микроконтроллер посылаю посылку вида byte [] writestring = {0x10, 0x03, 0x00, 0x04, 0x00, 0x04, 0x06, 0x89}
Должен принять ответ и вывести в текст бокс, ответ должен быть следующим 10 03 08 14 00 3D 00 66 00 8F 00 BB 4.
Проблема в следующем, иногда ответ приходит корректный, а иногда в ответную посылку замешиваются непонятные нули. Т.е. иногда ответ нормальный приходит, иногда нет. Зависимости не нашел, думаю может это из-за конвертации. Подскажите пожалуйста, из-за чего это может быть.
<code lang="cs">
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
using System.IO;
using System.Xml;
using System.Xml.Linq;
namespace Terminal
{
public partial class Form1 : Form
{
int date;
delegate void SetTextCallback(string text);
public Form1()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
serialPort1.DiscardInBuffer();
serialPort1.DiscardOutBuffer();
byte[] writestring = { 0x10, 0x03, 0x00, 0x04, 0x00, 0x04, 0x06, 0x89 };
try
{
serialPort1.Write(writestring, 0, writestring.Length);
textBox2.Clear();
}
catch (TimeoutException)
{
}
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] readstring = new byte[13];
serialPort1.Read(readstring, 0, readstring.Length);
string stringMessage = BitConverter.ToString(readstring);
textBox1.AppendText(stringMessage + "\r\n\r\n");
}
}
}
</code>
<img src="https://habrastorage.org/files/f45/753/449/f45753449924495db9a2267f4ff5a292.JPG" alt="image"/>