VB6を使用しておりますが,MSCommを用いてデータを受信した際に
複数のデータを受信できません。うまく言えないのですが,例えば下記のようなプログラムで送信された 0x52 と 0xAA を両方受信して別々の変数に
格納したいのです。
Send_Command1(0) = &H52
Send_Command2(0) = &HAA
MSComm1.Output = Send_Command1
MSComm1.Output = Send_Command2
現在は下記のような受信プログラムで最初の 0x52 だけは表示できますが,0xAAは受信できません。何か方法はありますでしょうか。
Dim Buffer() As Byte
Buffer = MSComm1.Input
Label21.Caption = Hex(Buffer(0))
ちなみに変数を2つ宣言して立て続けに受信しようとしたのですが,できませんでした。お力をおかし頂けませんでしょうか。お願い致します。
2バイトくるのに、1バイト受信を1回記述しても2バイト
は受信しませんヨ!
あくまで同期受信で、2バイトと言うのであれば、
Dim Buffer() As Byte
Buffer = MSComm1.Input
Label1.Caption = Hex(Buffer(0))
Buffer = MSComm1.Input
Label2.Caption = Hex(Buffer(0))
で、2バイト受信したことになりますが・・・
何バイトででも・・・としますと、非同期受信を実現しない
いことには・・・
MSComm1_OnComm() を使えば、非同期受信で何バイトでも可能
となります。ヘルプで調べてみてください。
以上。
お返事誠にありがとうございます。ご返信が遅れて申し訳ございません。
再度質問させて頂きます。
例えば贈られてくるデータが3バイト固定だった場合,その受信した
3バイトを,ラベルに 12AAFF などと表示したいのですが,どのようにしたらよろしいでしょうか。色々試したのですが,どうしてもできませんでした。変数はバイト側配列で宣言すればよいのでしょうか。現在は,動的配列にしておりますが,うまくいきません。また,MSComm1.RThreshold の値は3にするのでしょうか。
どうぞよろしくお願い致します。
すみません。解決致しました。
ありがとうございました。