teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

シリアルでデータを取得したコードを追加しました。

2020/04/07 02:56

投稿

uimaro
uimaro

スコア14

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,42 @@
1
+ ```**************************************************
2
+ Option Explicit
3
+
4
+ Sub EasyCommTest()
5
+ Dim A$
6
+ Dim n
7
+ '①初期設定
8
+ ec.COMn = 11 'COM4を指定します
9
+ ec.Setting = "9600,n,8,2" '通信条件(ボーレート,パリティビット数,データビット数,ストップビット数)の設定
10
+ ec.HandShaking = ec.HANDSHAKEs.RTSCTS '通信ハンドシェークの設定
11
+ ec.Delimiter = "CR" 'データの区切りをCrに設定する
12
+
13
+ A$ = ec.AsciiLine
14
+ 'デリミタの手前までの受信文字列をA$に代入します.
15
+ ec.InBufferClear '受信バッファをクリア
16
+
17
+
18
+ '1行ずつデータを入れていく
19
+ n = Cells(Rows.Count, "A").End(xlUp).Row + 1
20
+ Range("A" & n).Value = A$
21
+
22
+
23
+ '1秒おきにデータを見に行く
24
+ If Range("A10") = "" Then
25
+ Application.OnTime Now() + TimeValue("00:00:01"), "EasyCommTest"
26
+
27
+ Else
28
+ Range("A1:A10").Clear
29
+ End If
30
+
31
+
32
+ '⑤ポートを閉じる
33
+ ec.COMn = -1 '終了処理
34
+
35
+ End Sub
36
+ **************************************************
37
+ コード
38
+ ```
39
+
1
40
  EasyCommというモジュールを使用して、Arduinoからのシリアルを変数の中に格納することはできたのですが、
2
41
  Arduino側でデータを不定期に吐き出す場合、Excel側でデータを受信したときに何かアクションを起こすということがしたいです。
3
42