tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル VB2010 シリアル受信通信 byte で上手くいかない
投稿日: 2017/08/05(Sat) 14:11
投稿者MSAKA
No11856でご指導いただいた続きです

前回は送信が旨く行かないのをバイナリーにしては如何かと提案を頂き 
送信側はすんなり解決しました  その気になって受信側を始めたのですが
難航 あれこれ調べても問題は解決する知識は無いようで万歳状態です

以下のようなコードです (Windous7 64Bit VB2010)
(元コードは 金澤ソフト設計 が提供している sample0008)

受信イベントを受けて表示する部分を加工しています 

   Private Sub RcvDataToTextBox(data As String)
        Dim LenX As Integer
        Dim I As Integer
        Dim DD As String
        LenX = Len(data)
        Dim s(LenX) As String

        DD = ""
        Dim bytes() As Byte = System.Text.Encoding.GetEncoding(932).GetBytes(data)
        For I = 1 To LenX
            s(I) = BitConverter.ToString(bytes)
            DD = DD & s(I)
        Next
        RcvTextBox.AppendText(DD)
    End Sub

無線機に FEFE66000600FD を変換したものをPortに書き込みます

そうすると以下のように返ってきます( ”−”らしきものは勝手につくらしい)

3F-66-063F-66-063F-66-063F-74-3F3F-74-3F3F-74-3F

これは期待している値ではないので改めて
SerialDebuggerFree.exe なる通信試験ソフトで確認すると
(同時に表示されるtimeなど省略します Recv:以降が通信内容)
0001 IDとTime Recv:FEFE 6600 06
0002 IDとTime Recv:00FD FEFE 0066  
0003 IDとTime Recv:FBFD 
と表示されます (細切れになるのは他のEventの為?)

この16進部分が無線機に返されます 
FEFE 6600 06 00FD までががPCから送った内容(無線機もそれに対応した動きをします)
それ以降 FEFE 0066 FBFD が成功を意味しているようです
(無線機からPCへの送信なので 66 と 00 が逆になっています)

SerialDebuggerFreeと同じ返信を期待してあれこれ調べて試みたのですが
力不足で及ばず勉強やり直しです

どこが誤っているのでしょうか   よろしくご指導ください

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。