したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

VB2010でRS232C.

1hana-mizuki:2011/06/15(水) 21:20:12
お世話になります。
本サイトに掲載されている「RS-232C サンプルコード」をVB2010にコピーし、
RS232C−PIC通信のテストプログラムを作成しています。
作成したプログラムは、VBから"S"を送信するとPICから"Start!!\r\n"と返ってくる単純なものです。
しかし、プログラムを起動して、一回目に送受信をすると、VB側で"Start!!\r\n"が二度表示されます。("S"は一度しか送っていません。)
二回目以降は、一度の"S"に"Start!!\r\n"を一度表示します。
本サイトにある、vb2005版をダウンロードして、VB2010に変換して(VB2010が自動的に行う)、テストしたところ上記のような症状は起こりませんでした。
原因がまったく分からず、悩んでいます。
考えられる原因がありましたら、ご教授頂ければと思います。よろしくお願い致します。

2igoten:2011/06/16(木) 07:56:18
初めまして。
Sを2回送っているのか、表示が間違っているのか
この質問の内容からは判断できません。
最初にSを2回送信したらどうなりますか?

3名無しさん:2011/12/31(土) 20:34:17
私ここで結構おいしいおもいしましたよ。
詳細は書けないけど、やり方次第ですね(^O^)
ttp://bit.ly/rRzIgw

4トニー:2012/03/16(金) 09:16:49
hama-mizukiさん
はじめまして、私のこちらのプログラムを参考にさせて頂き、コーディングしておりますが、
クライアント側の受信するときに、バイト配列を初期化していないことが原因だと思われます。
最初は、Newした後初めて入るので、入りませんが、2回目以降は、一度newされた配列を使いまわしておりますので、
具体的には以下でしょうか。

Private Sub ClientListen()
'サーバとの間の通信に使用するストリームを取得
Dim stream As NetworkStream = client.GetStream()

'Dim bytes(1000) As Byte
Dim bytes(1023) As Byte
'デリゲートで受信テキストボックスのメソッドを渡す
Dim dlgText As dlgWriteText = New dlgWriteText(AddressOf WriteReadText)

While (True)
Try
'''この部分に初期化を追加する
        For i As Integer = 0 To bytes.Length - 1
bytes(i) = Nothing
Next
        ''''

Dim intCount As Int32 = stream.Read(bytes, 0, bytes.Length)

5<削除>:<削除>
<削除>

6<削除>:<削除>
<削除>

8モンブラン ボールペン:2013/10/23(水) 17:18:03
そのモンブランボールペンについて、少し考察を混ぜて紹介していきたいと思います。 モンブラン ボールペン http://www.landmarkweddingfilms.com/モンブラン.html


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板