|
分類:[C#]
開発環境 : Visual C# 2005 Express Edition
初めまして。 serialPortコントロールを利用してシリアル通信を行いたいと考えています。 ボタンをクリックすることで数字データを送信し、受信側のアプリケーション(Cで開発)でchar型の数として認識させることが目的です。
private void SendParameter() { try { char[] parameter = new char[3]; parameter[0] = (char)serialTrigger; //int serialTrigger = 100 parameter[1] = (char)th_A_teian_best; //int th_A_teian_best = 3 parameter[2] = (char)th_B_teian_best; //int th_B_teian_best = 7 serialPort1.Write(parameter, 0, parameter.Length); } catch (Exception e) { Console.WriteLine(e.Message); } }
そこで上のような関数を記述し、ボタンクリックで呼び出すことができるようにしたのですが、実際に送信したデータをWindowsアクセサリの「ハイパーターミナル」で確認すると、「d(ハート)」(「d」と「ハート」)と表示されました。 送信する数字を「1」に統一し送信すると、「0」の中に顔を書いたような記号が表示されました。 また、上の「parameter」をchar型ではなくbyte型にしても同様でした。
このように文字化け(?)しないためにはどのように対処すればいいのか、お分かりになる方がいましたらご教授願います。 ちなみに、ハイパーターミナルを用いたシリアル通信は、仮想COMポートを作成して1台のPCで行いました。
|