回答編集履歴
3
コード部分をコードブロック化
test
CHANGED
@@ -46,7 +46,9 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
+
```VisualBasic
|
50
|
+
|
49
|
-
|
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\(\)の呼び出しサンプルを追加
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
追記:コメントを受けて回答に反映
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
|
+
|