

VB2010で、シリアル通信の方法を教えてください。
ツールボックスの「Serial Port」を使っています。
送信までは難なくできたのですが、受信が旨くいきません。
参考にしたサイトは、
http://msdn.microsoft.com/ja-jp/library/cc720852 … です。
これを実行すると、受信が出来ないだけでなく、フリーズしてしまいます。
どうやったら、受信できるのでしょうか?
No.3
- 回答日時:
>受信するデータの終端の仕様が、ETX(&h02)でした。
NewLine プロパティにChr(2)を入れたらどうですか?
御解答、ありがとうございます。
>NewLine プロパティにChr(2)を入れたらどうですか?
改行コードの代わりになるものを、追加できるということですよね。
何処で、宣言をしたら良いですか?
また、参考になりそうなサイトを教えてください。
よろしくお願いします。
No.2
- 回答日時:
どのようなデータを受信しているのでしょうか?
ReadLine()メソッドのヘルプを見ると
『入力バッファ内の NewLine 値まで読み取ります。
既定では、ReadLine メソッドは行を受け取るまでブロックします。
この動作が不適切な場合は、ReadTimeout プロパティに 0 以外の値を設定して、ポート上に行が存在しない場合は ReadLine メソッドで強制的に TimeoutException がスローされるようにします。』
となっていて、なおかつ NewLine の既定値はラインフィード(CTRL+J)なので
受信するデータにラインフィード(CTRL+J)が含まれていない場合には戻ってきません。
受信するデータの終端がキャリッジリタン(CTRL+M)なら
NewLineプロパティにChar(13)を設定してみてください。
参考URL:http://www.robotsfx.com/robot/robohow/RoboHow60/ …
御解答を戴きまして、ありがとうございます。
>NewLineプロパティにChar(13)を設定してみてください。
これが、原因のようです。
受信するデータの終端の仕様が、ETX(&h02)でした。
こうなると、面倒でも、一文字ずつ受信させるしかなさそうですね。
No.1
- 回答日時:
・ハイパーターミナルで受信できるかテストしてみる
→できない場合はCOMポートの設定がおかしいか、
パーソナルファイアーウォールの設定を見てみる
※特定IPアドレスからの送信ならブロックしないようにする
・COMポートの設定を見直す
CPR managerとかでポートを作り、テストしてみる
・Serial Portの通信設定のプロパティを見直す
・SerialPort1.ReadLine
をReadExistingに変えてみる
とかでしょうか?
参考URL:http://social.msdn.microsoft.com/Forums/ja-JP/vb …
御解答を戴きまして、ありがとうございます。
ReadExistingで返事が返ってきました。
ただ、送られた通信プロトコルが分離されて受信しているようです。
(2度の受信イベントで、通信プロトコルが成立する)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のExcelファイルをマージす...
-
vbsでのwebフォームへの入力制限?
-
Vba セルの4辺について罫線が有...
-
Excelマクロで使うVBAコードを...
-
エクセルのマクロについて教え...
-
ExcelVBAでパワポを操作したい
-
(EXCEL超初心者)EXCELの関数(ま...
-
Excelのマクロについて教えてく...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
-
【マクロ】切取りの場合、形式...
-
改行文字「vbCrLf」とは
-
testファイル内にある複数のpng...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
TCP/IP のパケットの分断と結合...
-
Outlookの「受信日時」「送信者...
-
UDP受信時の通信異常検知について
-
CRC-CCITTに関しての仕様とサン...
-
ASP.NET C#でPOST受信
-
recv関数の戻り値について
-
VB2010で、シリアル通信の方法...
-
HPのメールフォームについて
-
アンテナってあるでしょ?あれC...
-
シリアル通信時のデータ受信方法
-
赤外線通信
-
C#にてCTI。RS232Cの受信と送信...
-
受信処理の終了条件
-
PICを用いた赤外線通信
-
DHCPOFFERの受信について
-
VB2005でTCP/IPソケット通信で...
-
.NetのTimerについて
-
文字化け
-
winsockを使ったTCP及びUDP通信...
おすすめ情報