プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (4件)

otto0001otto さんの回答で概ね良いのですが


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

RS-232Cでは情報を8BIT単位で送ります。


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

この回答への補足

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

補足日時:2007/11/26 15:39
    • good
    • 0

RS-232Cインターフェースのpinを


HighやLOWにしたいということでしょうか?

この回答への補足

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

補足日時:2007/11/26 13:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!