- 締切済み
VB2005でシリアル通信
QNo.2434041で質問した者です。 ご回答いただきました内容に従って通信を試みましたが、うまく行きません。 PCとある制御ボードを接続し、 「接続」すなわち、call SerialPort1.Open()を行なうとボード上のLEDが点灯し、 「切断」すなわち、call SerialPort1.Close()を行なうとボード上のLEDが消灯するので、 一応接続はできているようなのです。 (SerialPortコントロールを追加して、プロパティのDtrEnableとRtsEnableをTrueにしています。) しかし、SerialPort1.WriteLine(TextBox2.Text) を実行してもボードが思った動きをしてくれません。 どうも信号が出ていないような気がしています。 どうしてなのでしょうか? MSCommコントロールを使用しなければならないのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- dsuekichi
- ベストアンサー率64% (171/265)
No2です。 > ボードやPCのデフォルト値だからです。 では、「デフォルト値」のままで変更されていないことは「確認」済みってことですね。 > ボードに付属のソフトでは通信できることを確認しています。 「これで繋がったんだから、あっている『はず』だ」って言う、「推測」じゃないんですね? #それで満足しているなら、「設定は、あっている『はず』だから、動くはず」で回答が終わってしまいます・・・ 念の為に、「別の設定」にして試してみたりはやられましたか? > >制御ボードがデリミタと検出する記号をきちんと出力していますか?。 > これはわかりません。 こちらは、その後、確認済みですか? 例えば、マニュアルには「どういうコマンド文字列を送れ」と書かれていましたか? で、貴方はどういう文字列を送ったんですか? #別のサイトのQ&A掲示板の話ですが、 #マニュアルに「TIME+CRLF」と記述されていたのを見て、 #"TIME+CRLF"と言う文字列を送る、と勘違いした言う話がでてましたが・・・
- dsuekichi
- ベストアンサー率64% (171/265)
こんにちは。 > 9600baud、1stop bitです。 って事ですが、 No1さんの、 > >通信速度やストップビットなどの設定は合っていますか? は、「その設定が制御ボードが要求している設定か」を尋ねておられるんだと思いますよ。 設定を > 9600baud、1stop bitです。 にした根拠は何です? ちなみに、私は昔、シリアル接続のラベルプリンタをVB6で制御する プログラムを作った事がありますが、 その時は、プリンタが、全然応答してくれなくて3日ほど悩んだことがあります。 結局、原因はラベルプリンタのディップスイッチの設定が間違っていて、必要なボーレートが標準値(サンプルプログラムの値)と違っていた所為でした。
- miyuyu
- ベストアンサー率61% (30/49)
普通に使用できます。 まず最初に触れていないのですが通信速度やストップビットなどの設定は合っていますか? 制御ボードがデリミタと検出する記号をきちんと出力していますか?。 ケーブルは間違っていませんか?クロス、ストレートとはいってもその内訳は色々あります。 ハイパーターミナルでやってみても同じですか?
お礼
ご回答ありがとうございます。 >通信速度やストップビットなどの設定は合っていますか? 9600baud、1stop bitです。 >制御ボードがデリミタと検出する記号をきちんと出力していますか?。 これはわかりません。 >ケーブルは間違っていませんか?クロス、ストレートとはいってもその内訳は色々あります。 >ハイパーターミナルでやってみても同じですか? ボードに附属していたソフトをPCにインストールしてちゃんと動きますから、 ケーブルの結線は間違っていないと思います。
お礼
> 9600baud、1stop bitです。 にした根拠は何です? ボードやPCのデフォルト値だからです。 ボードに付属のソフトでは通信できることを確認しています。