データを入力して送信すると、「正しくないパラメータ」というメッセージが表示されます。次のプログラムにエラー/例外/問題がありますか?シリアル通信でC#のパラメータが正しくありません
もう1つの質問:シリアルポート経由で接続されたコントローラ間でプロトコルを実装するための構造を使用することをお勧めしますか? WriteLine
方法が間違って動作するように
public partial class MainWindow : Window
{
SerialPort serial = new SerialPort();
// PortName, BaudRate, Parity, DataBits, StopBits
public MainWindow()
{
InitializeComponent();
serial.PortName = "COM1";
serial.BaudRate = 9600;
serial.DataBits = 8;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string ports = serial.PortName;
PortCB.Items.Add(ports);
PortCB.SelectedIndex = 0;
Close.IsEnabled = false;
}
//button to open serial port
private void Open_Click(object sender, RoutedEventArgs e)
{
Open.IsEnabled = false;
Close.IsEnabled = true;
try
{
serial.PortName = PortCB.Text;
serial.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//button to close serial port
private void Close_Click(object sender, RoutedEventArgs e)
{
Open.IsEnabled = true;
Close.IsEnabled = false;
try
{
serial.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//send message typed in a text box
private void Send_Click(object sender, RoutedEventArgs e)
{
try
{
if(serial.IsOpen)
{
serial.WriteLine(SendTB.Text);
SendTB.Clear();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//show message receive received in a text block
private void Receive_Click(object sender, RoutedEventArgs e)
{
try
{
if (serial.IsOpen)
{
ReceiveTB.Text = serial.ReadExisting();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//close the serial port if at all open
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if(serial.IsOpen)
serial.Close();
}
}
コントローラがこのメッセージを送信しますか? "不適切なパラメータ" –
シリアルポートにデータを送信しようとすると、先ほどのコードからこのメッセージが表示されます。現時点では、シリアルポートにエミュレータを使用しています。私はUSBケーブルが到着するまでシリアルを待っています、私はそれを注文しました。 –