- ベストアンサー
RS232Cについて
プログラミング初心者です。 Visual Basic6.0のMScommコントロールで0と1の文字を判別して、mscomm1.outputでon/offの出力信号を送信する方法ってありますか。どなたか御教授願います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
otto0001otto さんの回答で概ね良いのですが 文字列として MSComm1.Output に与えた場合に送信できない文字コードが在ります。 (これはchr関数で文字に変換できない数値があるためです) そこで次のようにすると0~255まで全ての数値が送信できます。 dim myByte() as Byte redim myByte(0) as Byte myByte(0) = &H55 '長さ1の配列に数値を代入する。 MSComm1.Output = myByte
その他の回答 (3)
- otto0001otto
- ベストアンサー率25% (64/249)
回答No.3
RS-232Cでは情報を8BIT単位で送ります。 "0"という文字はアスキーコードで30HEX 2進数で書くと00110000となります。 "0"をRS232Cに出力すると0011000 というBITが送られることになります。 いま、01010101というビットを送りたいので あれば、これは55HEXということになりますから MSComm1.Output =chr(&H55) とします。
noname#60992
回答No.2
- otto0001otto
- ベストアンサー率25% (64/249)
回答No.1
RS-232Cインターフェースのpinを HighやLOWにしたいということでしょうか?
質問者
補足
そうです。8桁の2進数を8ビット,19200bpsで送信したいのですが。
補足
ご回答ありがとうございます。そのサイトは見てみたのですが、 MSComm1.Output = Text1.Textで このtext1.textに"00000000"や"11001100"(Stringとして宣言)などと入力した場合、この0と1は「High」や「Low」と認識しているのでしょうか。それともただ単に「文字」としてしか認識されないのでしょうか。