0

複数のArduinoがシリアルポート経由で通信できるようにするプログラムがあります。たとえば、Arduino1 が Arduino3 と通信したい場合、ユーザーは Arduino1 から文字列を送信し、この文字列が Arduino3 に表示されます。これは でうまく機能していSerialMonitorます。

問題は、C# アプリケーションで同じことをしようとしたときです (何も表示されません)。私はこれを試しました:

//(...)
comPort1.Open();
//(...)
private void comPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    string inData = comPort1.ReadLine();
    msgBoxLog.AppendText(inData); // msgBoxLog = textBox with data received/sent
}
//(...)
private void sendButton_Click(object sender, EventArgs e)
{
    string my_str = "my string";
    msgBoxLog.AppendText(my_str + "\r\n");
    comPort1.WriteLine(my_str + "\r\n");
}

いくつかのメモ:

  • RtsEnableDtrEnableの両方がアクティブです
  • ボーレート (Arduino / C#) = 1200

ボーレート値は問題ですか? この値を使用する必要がありますが、C# で受け入れられるかどうかはわかりません。私もこのようなことを試みましたが、成功しませんでした。

4

2 に答える 2