このQ&Aは役に立ちましたか?
PCからPICへのデータ送信について
2023/09/07 03:25
- VB2010を用いたserialport機能を使って、PCから外部機器にデータを送信するプログラムを作成しています。しかし、うまく送信することができません。
- 外部機器はデータの送信を感知していますが、送信されたデータを認識できません。
- 文字コードの変換を試しましたが、問題を解決することはできませんでした。どのようにすれば問題を解決できるでしょうか?
PCからPICへのデータ送信について
2011/08/02 16:57
VB2010をのserialport機能を用いて,外部機器にデータを送るプログラムを作成しています。
外部機器から送信されてきたデータの受信は問題なくできましたが,PCからの送信がうまく出来ません。
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If TextBox2.Text.Length = 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の文字コードを変換するようにとのアドバイスを頂き,実行しましたが,うまくデータが送信できませんでした。
どうすれば,上記のような問題を解決できるでしょうか?
質問者が選んだベストアンサー
>プログラムは上記のようになります。(microsoftのサンプルそのままです。)
microsoftのサンプルそのままなら漢字やカナは使われないですよ。というのは置いといて
上記のプログラムじゃ動かないはずですが。
(1)COM番号との対応を記述する必要があります。(フォームのデザインで設定ずみ?)
(2)ポートのOPEN処理はどこでやってる?
まず同じPCのシリアルポート同士で
片方はVB.Netのプログラム
もう一方はTeraTerm等のターミナルソフトで
通信を行いデバッグするのが早道だと思います。
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
その他の回答 (2件中 1~2件目)
>ほかのサイトでも質問させてもらい,
http://oshiete.goo.ne.jp/qa/6318319.html
これでしょうか?
>serialdebug2
http://www.vector.co.jp/soft/winnt/hardware/se449799.html
これですね
恐らくserialdebug2の使い方を勘違いしていらっしゃる
これは送信機能もあるラインモニタです
本来の用途としてはシリアルポートに流れている信号をモニタするもの
貴殿が作ったプログラムが232Cから出力した信号を
別のPCでserialdebug2を起動して受信してみてください
つまりPICがどんなデータを受信したのか?を調べるのが本来の目的
送信機能はおまけの機能です
>外部機器は,データが送信されたことは感知していますが, 「1」 が送られたことは認識できていないようです。
”1”ASCで31h
果たして31hを受信してるのかどうかが問題
多くの場合、31hでない確率が高い
お礼
2011/08/03 13:34
ご回答ありがとうございます。
本質問投稿後に試行錯誤した結果,問題なく送信できるようになりました。
送信時の文字コードがおかしかったようでした。
お礼
2011/08/03 13:33
ご回答ありがとうございます。
本質問投稿後に試行錯誤した結果,問題なく送信できるようになりました。
追記で示して下さったデバッグ方法をこれから利用させていただきます。