回答編集履歴

3

コード部分をコードブロック化

2016/12/02 11:48

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -46,7 +46,9 @@
46
46
 
47
47
 
48
48
 
49
+ ```VisualBasic
50
+
49
- // 1024Byte読み込む場合
51
+ ' 1024Byte読み込む場合
50
52
 
51
53
  Dim readBuffer As As Byte() = New Byte(1024) {}
52
54
 
@@ -59,6 +61,8 @@
59
61
 
60
62
 
61
63
  readbytes = SerialPort1.Read(readBuffer, offset, count)
64
+
65
+ ```
62
66
 
63
67
 
64
68
 

2

追記:System\.IO\.Ports\.SerialPort\.Read\(\)の呼び出しサンプルを追加

2016/12/02 11:48

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -26,6 +26,42 @@
26
26
 
27
27
 
28
28
 
29
+ 参照されているページにも記載がありますが
30
+
31
+ 以下のパラメーターを渡す必要があります。
32
+
33
+ - buffer : 受信データを格納するバイト型の配列。
34
+
35
+ - offset : 受信データの格納を開始する配列の位置。
36
+
37
+ - count : 受信データを読み込むバイト数。
38
+
39
+
40
+
41
+ 戻り値は「受信データを読み込んだバイト数」です。
42
+
43
+
44
+
45
+ 以下で バイナリデータ(最大1024Byte。実際に受信したByte数は少なくなる場合があります。)をreadBuffer(Byte配列)に読み込みます。
46
+
47
+
48
+
49
+ // 1024Byte読み込む場合
50
+
51
+ Dim readBuffer As As Byte() = New Byte(1024) {}
52
+
53
+ Dim offset As Integer = 0
54
+
55
+ Dim count As Integer = 1024
56
+
57
+ Dim readbytes As Integer = 0
58
+
59
+
60
+
61
+ readbytes = SerialPort1.Read(readBuffer, offset, count)
62
+
63
+
64
+
29
65
  ---
30
66
 
31
67
 

1

追記:コメントを受けて回答に反映

2016/11/30 09:02

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,3 +1,35 @@
1
+ ###コメントを受けて追記
2
+
3
+ > 早速、修正してビルドしますと、下記のエラーが発生するのですが
4
+
5
+ > エラー この引数の数を受け付ける 'Read' がないため、オーバーロードの解決に失敗しました。
6
+
7
+
8
+
9
+ 具体的にどういったコーディングをされたのかわからないので何とも言えません。```data = SerialPort1.ReadExisting()```を```data = SerialPort1.Read()```に変更しただけでしょうか?
10
+
11
+
12
+
13
+ [VB.NETでシリアル通信を行う(その4)](http://kana-soft.com/tech/sample_0008_4.htm)には与える引数の説明もされています。説明に記載されている通りの引数を与えて呼び出せば> 「この引数の数を受け付ける 'Read' がないため、オーバーロードの解決に失敗しました」なんてエラーは出ないのですが。
14
+
15
+
16
+
17
+ 質問として
18
+
19
+ 「**Read()関数の使用方法がわからない**」
20
+
21
+ のではなく、
22
+
23
+ 「**VB.netでのfunctionの呼び出し方自体がわからない**」
24
+
25
+ のでしょうか?
26
+
27
+
28
+
29
+ ---
30
+
31
+
32
+
1
33
  参考にされたサイトの以下ページでそのまま「バイナリデータを受信」の解説がされています。
2
34
 
3
35
 
@@ -7,3 +39,7 @@
7
39
  > サンプルプログラムでは、文字列の受信なので、ReadExisting()メソッドを利用しましたが、バイナリデータを受信する場合、Read()メソッドを利用します。
8
40
 
9
41
  >Public Function Read( buffer As Byte(), offset As Integer, count As Integer ) As Integer
42
+
43
+
44
+
45
+