質問: 0 Then MessageBox.Show("送信文字列を入力してください", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox2.Focus() Exit Sub End If Try SerialPort1.WriteLine(TextBox2.Text) Catch ex As Exception MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub プログラムは上記のようになります。(microsoftのサンプルそのままです。) 上記のプログラムで 数字の「1」を送信したいのですが,うまく送ることができません。 外部機器は,データが送信されたことは感知していますが, 「1」 が送られたことは認識できていないようです。 serialdebug2というソフトを使用して,「1」 を送信した場合は,問題ありませんでした。 ほかのサイトでも質問させてもらい,VBの文字コードを変換するようにとのアドバイスを頂き,実行しましたが,うまくデータが送信できませんでした。 どうすれば,上記のような問題を解決できるでしょうか?
回答: >ほかのサイトでも質問させてもらい, これでしょうか? >serialdebug2 これですね 恐らくserialdebug2の使い方を勘違いしていらっしゃる これは送信機能もあるラインモニタです 本来の用途としてはシリアルポートに流れている信号をモニタするもの 貴殿が作ったプログラムが232Cから出力した信号を 別のPCでserialdebug2を起動して受信してみてください つまりPICがどんなデータを受信したのか?を調べるのが本来の目的 送信機能はおまけの機能です >外部機器は,データが送信されたことは感知していますが, 「1」 が送られたことは認識できていないようです。 ”1”ASCで31h 果たして31hを受信してるのかどうかが問題 多くの場合、31hでない確率が高い