VB2010で、シリアル通信の方法を教えてください。
ツールボックスの「Serial Port」を使っています。
送信までは難なくできたのですが、受信が旨くいきません。
参考にしたサイトは、
http://msdn.microsoft.com/ja-jp/library/cc720852 … です。
これを実行すると、受信が出来ないだけでなく、フリーズしてしまいます。
どうやったら、受信できるのでしょうか?
No.1
- 回答日時:
・ハイパーターミナルで受信できるかテストしてみる
→できない場合はCOMポートの設定がおかしいか、
パーソナルファイアーウォールの設定を見てみる
※特定IPアドレスからの送信ならブロックしないようにする
・COMポートの設定を見直す
CPR managerとかでポートを作り、テストしてみる
・Serial Portの通信設定のプロパティを見直す
・SerialPort1.ReadLine
をReadExistingに変えてみる
とかでしょうか?
参考URL:http://social.msdn.microsoft.com/Forums/ja-JP/vb …
御解答を戴きまして、ありがとうございます。
ReadExistingで返事が返ってきました。
ただ、送られた通信プロトコルが分離されて受信しているようです。
(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)でした。
こうなると、面倒でも、一文字ずつ受信させるしかなさそうですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- LANケーブル・USBケーブル スマホを充電せずに通信だけさせたい 4 2022/07/02 15:24
- その他(プログラミング・Web制作) シリアル通信 2 2022/05/07 17:14
- Outlook(アウトルック) Windows11にしてからOutlook2019がすぐに固まってしまう件に関して。 2 2023/01/21 11:52
- その他(メールソフト・メールサービス) メール受信できません(アンドロイドスマホ) 2 2023/02/28 07:56
- Outlook(アウトルック) メールの受信設定 1 2023/03/28 09:20
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- au(KDDI) AUメールが受信できなくなった件 1 2022/08/16 10:35
- Y!mobile(ワイモバイル) ワイモバイルケータイベーシックプランSSのSIMを使ってSIMフリースマホでメールをしたい 2 2022/08/11 23:18
- Yahoo!メール ぷららメールの送受信が出来なくなった 2 2023/07/16 11:48
- Outlook(アウトルック) メール送信できない 3 2022/07/20 09:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
遅延確認応答について教えてく...
-
赤外線センサーについて
-
Outlookの「受信日時」「件名」...
-
C#にてCTI。RS232Cの受信と送信...
-
(VC++)シリアル通信について
-
パソコンに詳しい方教えて下さ...
-
ipadで社内ネットワークに接続
-
別のフォルダにファイルを移動...
-
jarファイルが開けない
-
Lhaplusが発したと、みられるエ...
-
Windows上のファイル操作の履歴...
-
java.lang.NumberFormatExcepti...
-
en_US.UTF-8ロケールってどのPO...
-
エクスプローラで表示したファ...
-
どうしたらいいか教えて下さい。
-
ffastun.*って何ですか?
-
ファイルの操作履歴の閲覧
-
バッチファイルでディレクトリ...
-
FFFTPでアップロードしたデータ...
-
FUJI XEROXの英語版ドライバの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
TCP/IP のパケットの分断と結合...
-
Outlookの「受信日時」「送信者...
-
CRC-CCITTに関しての仕様とサン...
-
シリアル通信時のデータ受信方法
-
Excxel vba でYahoo API で住所...
-
recv関数の戻り値について
-
UDP受信時の通信異常検知について
-
ASP.NET C#でPOST受信
-
RS232cを用いた送信プログラム
-
VC++メッセージの送受信につい...
-
PC98で232c送信winndowで受信で...
-
TCPのプログラミングで質問…と...
-
VBのMSCommコントロールを使っ...
-
「TCPは全二重可能」の意味
-
DHCPOFFERの受信について
-
VB2010で、シリアル通信の方法...
-
msgrcv( )で領域破壊?
-
ネットワークでの受信バイト数
-
シリアル通信
おすすめ情報