タイトル | : MSCommを使ってバイナリデータを受信したい |
記事No | : 13005 |
投稿日 | : 2008/09/04(Thu) 18:39 |
投稿者 | : おしえてください |
VB6.0である装置とPC間をシリアル通信をするツールを作成しています。装置からPCに制御コマンドが送られてくるのですが、現状送られてきているはずのデータが正しく受信できません。PCに正しく送られていることは、Acknowrichというシリアルデバイス通信ツールで確認しました。
装置が送っているデータ:0x12 0x65 0x31 0x1B 0x33 0x04 0x1B 0x55 0x30 0x1B 0x74 0x03 ツールが受信したデータ:1 104 36 101 0 43 9
多分VB6.0なので、受信データが10進で見えているとしても、送られているデータとは全く違うデータになっています。あまり関係ないかもしれませんが、装置側はデータをJISコードで送信しています。(バイナリレベルのデータだとJISとかUNICODEとかは関係ないかなと思いますが。)
なお、 InputMode=1 InputLen=0 としており、Settingは装置側にあわせて設定しています。
また、ツールのソースは下記のとおりです。 Private Sub MSComm1_OnComm() Dim bytInputData() As Byte Dim bytRecvData() As Byte If MSComm1.InBufferCount = 0 Then Exit Sub End If bytRecvData = "" Do DoEvents bytInputData = MSComm1.Input bytRecvData = CStr(bytRecvData) & CStr(bytInputData) Loop Until MSComm1.InBufferCount = 0 End Sub
申し訳ありませんが教えてください。よろしくお願いします。
|