※ ChatGPTを利用し、要約された質問です(原文:visual c# 2010 シリアル通信アプリ)
visual c# 2010でマイコンとのシリアル通信評価アプリを作成する方法
このQ&Aのポイント
visual c# 2010を使用してマイコンとのシリアル通信評価に使うPCアプリを作成する方法を解説します。
データの受信に関しては、受信データを読み込み、テキストボックスに書き込む処理を行います。
受信したデータには正しくアスキーコードで送信したデータが含まれていることを確認しましょう。
http://www.kana-soft.com/tech/sample_0007.htm
のサイトを参考に、マイコンとのシリアル通信評価に使うPCのアプリケーションを
visual c# 2010で作っています。
一応データを受け取るようになったのですが、
63H 62H 61H 00H
(アスキーコードだと"cba<null>")
というデータを送っているはずなのですが、
扣a
というデータが受信されてしまいます。
正しく受信するにはどうすれば良いでしょうか。
(該当していそうな部分のソースです)
:
:
/****************************************************************************/
/*!
* @brief データ受信が発生したときのイベント処理.
*
* @param [in] sender イベントの送信元のオブジェクト.
* @param [in] e イベント情報.
*
* @retval なし.
*/
private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
//! シリアルポートをオープンしていない場合、処理を行わない.
if (serialPort1.IsOpen == false)
{
return;
}
try
{
//! 受信データを読み込む.
string data = serialPort1.ReadExisting();
//! 受信したデータをテキストボックスに書き込む.
Invoke(new Delegate_RcvDataToTextBox(RcvDataToTextBox), new Object[] { data });
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
/****************************************************************************/
/*!
* @brief 受信データをテキストボックスに書き込む.
*
* @param [in] data 受信した文字列.
*
* @retval なし.
*/
private void RcvDataToTextBox(string data)
{
//! 受信データをテキストボックスの最後に追記する.
if (data != null)
{
rcvTextBox.AppendText(data);
}
}
補足
ありがとうございます。 文字コードを変えればうまく行くということでしょうか。 msdnなども参照しながらやっているんですが、勉強不足でどういう風に書けば適切に変換できるかわかりません。 どうすればいいでしょうか。