Я разрабатываю приложение, которое взаимодействует с моей электронной схемой через порт 4. Я могу без проблем отправлять данные с ПК на схему; Затем я получаю данные из схемы. Однако, когда я пытаюсь получить данные из своей схемы во второй раз, я получаю от нее неверные данные. Любые указатели на то, как решить эту проблему?
Это код С#:
byte[] Sent_Byte = {1,2,3,4,5,6};
byte[] Received_Byte = new byte[10];
private void button_sendData_Click(object sender, EventArgs e)
{
// I send this data because the circuit is ready to get data
serialPort1.Write("G");
serialPort1.Write(Sent_Byte, 0, 6);
}
private void button_getData_Click(object sender, EventArgs e)
{
// I send this data because the circuit is ready to send data
serialPort1.Write("A");
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialPort1.Read(Received_Byte, 0, 10);
}
Это код Ардуино:
char Control_OP=0;
char Received_Data[6];
byte Sent_Data[10];
void loop()
{
while(Serial.available())
{
Control_OP = Serial.read(); // determines whether receiving data or sending data
if(Control_OP=='G') // receiving data
{
Number=Serial.readBytes(Received_Data,6);
}
else if(Control_OP=='A') // sending data
{
Serial.write(Sent_Data,10);
}
}
}
A
и посмотрите, ответит ли он. Это основная процедура устранения неполадок последовательной связи. - person Matt Burland   schedule 04.02.2014