• ベストアンサー

RS232Cについて

プログラミング初心者です。 Visual Basic6.0のMScommコントロールで0と1の文字を判別して、mscomm1.outputでon/offの出力信号を送信する方法ってありますか。どなたか御教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

otto0001otto さんの回答で概ね良いのですが 文字列として MSComm1.Output に与えた場合に送信できない文字コードが在ります。 (これはchr関数で文字に変換できない数値があるためです) そこで次のようにすると0~255まで全ての数値が送信できます。 dim myByte() as Byte redim myByte(0) as Byte myByte(0) = &H55 '長さ1の配列に数値を代入する。 MSComm1.Output = myByte

その他の回答 (3)

回答No.3

RS-232Cでは情報を8BIT単位で送ります。 "0"という文字はアスキーコードで30HEX 2進数で書くと00110000となります。 "0"をRS232Cに出力すると0011000 というBITが送られることになります。 いま、01010101というビットを送りたいので あれば、これは55HEXということになりますから MSComm1.Output =chr(&H55) とします。

noname#60992
noname#60992
回答No.2
lkmm
質問者

補足

ご回答ありがとうございます。そのサイトは見てみたのですが、 MSComm1.Output = Text1.Textで このtext1.textに"00000000"や"11001100"(Stringとして宣言)などと入力した場合、この0と1は「High」や「Low」と認識しているのでしょうか。それともただ単に「文字」としてしか認識されないのでしょうか。                

回答No.1

RS-232Cインターフェースのpinを HighやLOWにしたいということでしょうか?

lkmm
質問者

補足

そうです。8桁の2進数を8ビット,19200bpsで送信したいのですが。

関連するQ&A

専門家に質問してみよう