質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Q&A

0回答

5262閲覧

VBで、シリアル通信(COMポート)から、バイナリデータを連続送信する方法を教えてください。

suban

総合スコア28

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

0グッド

0クリップ

投稿2016/12/01 10:12

編集2016/12/02 05:25

VBで、シリアル通信(COMポート)から、バイナリデータを連続送信したいのですが、サンプルプログラムの改造で、文字列送信からバイナリ送信に変更は出来たのですが、連続したバイナリデータを送信しますと、1バイト毎にウエイトが入ってしまいます。

参考にしたサイトはこちらです
http://kana-soft.com/tech/sample_0008.htm
送信部*

'テキストボックスから、送信するテキストを取り出す. 'Dim data As String 'data = SndTextBox.Text Dim data() As Integer data = {1, 2, 3, 5} ’送信するテキストがない場合、データ送信は行わない. If String.IsNullOrEmpty(data(0)) Then Return End If Dim lp_su, w As Integer W = 0 For lp_su = 1 To 3 Try 'シリアルポートからテキストを送信する. Dim ByteArray As Byte() ByteArray = System.Text.Encoding.GetEncoding(65001).GetBytes(data(w)) ' UTF8 'ByteArray = System.Text.Encoding.GetEncoding(932).GetBytes(data(w)) ' SJIS SerialPort1.Write(ByteArray, 0, ByteArray.Length) 'SerialPort1.Write(data) '送信データを入力するテキストボックスをクリアする. SndTextBox.Clear() Catch ex As Exception MsgBox(ex.Message) End Try w = w + 1 Next

<追記>
SerialPort1.Writeメソッドの引数のLengthが書き込むバイト数で
ここの値を変えるとよいように思いますが、数値に置き換えても
エラーでうまくいきませんでした。
下記は、本来のテキストBOXから送信するプログラムですが
テキストBOXに、数文字書くと連続して送信しました。

私が、やりたい事は固定の数バイトのデータを連続して送信
したいのですが

*************************

'テキストボックスから、送信するテキストを取り出す. Dim data As String data = SndTextBox.Text '送信するテキストがない場合、データ送信は行わない. If String.IsNullOrEmpty(data) Then Return End If Try 'シリアルポートからテキストを送信する. Dim ByteArray As Byte() ByteArray = System.Text.Encoding.GetEncoding(65001).GetBytes(data) ' UTF8 'ByteArray = System.Text.Encoding.GetEncoding(932).GetBytes(data) ' SJIS SerialPort1.Write(ByteArray, 0, ByteArray.Length)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2016/12/02 04:27

コードはコードブロックにすると見易くなります。 コードの先頭行の前と最終行の次に ``` だけの行を追加することでコードブロックになります。
suban

2016/12/02 05:23

ありがとうございます。コードブロックを追加しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問