Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
シリアル通信の受信データを表示
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30252#CommentId82890
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
vb素人
 (社会人)
投稿日時
2017/7/8 15:18:22
魔界の仮面弁士さま
毎回ありがとうございます。
①送信側は、WriteUSART(0xFF); に念の為、修正させていただきました。
動作に変わりはありませんでした。
②続いて、受信データの確認を行いました。
>確認のため、SerialPort1.Read(rdat1, 0, 4) の直後に
>Debug.WriteLine(BitConverter.ToString(rdat1))
>を実行してみてください。
実行結果は、次の通りとなりました。
これは、配列の先頭にデータが毎回入るだけで、配列の要素数(5)に問題はありますが、
配列の要素1~4にデータが入らないのがなぜかわかりません。
FF-00-00-00-00
FF-00-00-00-00
FF-00-00-00-00
03-00-00-00-00
③受信データ確認
教えていただいた所を修正して、次のコードで再び受信データの確認を行いましたが、
やはり昨日と同じ結果です。
255
0
255
0
255
0
3
0
確認したコード
If SerialPort1.ReadBufferSize >= 4 Then
Dim rdat1(4) As Byte
SerialPort1.Read(rdat1, 0, 4)
'Debug.WriteLine(BitConverter.ToString(rdat1))
Dim rdat1bin As Byte() = {rdat1(0), rdat1(1)}
Dim rdat2bin As Byte() = {rdat1(2), rdat1(3)}
Dim rdat1a As UShort = BitConverter.ToUInt16(rdat1, 0) '符号付き 2 バイト整数に変換
Dim rdat2a As UShort = BitConverter.ToUInt16(rdat1, 2) '符号付き 2 バイト整数に変換
Dim rdat1b As String = Convert.ToString(rdat1a, 10) '10進数表記の "1023" に変換
Dim rdat2b As String = Convert.ToString(rdat1a, 10) '10進数表記の "1023" に変換
Debug.WriteLine(rdat1a)
Debug.WriteLine(rdat2a)
End If