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

回答編集履歴

1

実験追記

2019/11/16 10:30

投稿

thkana
thkana

スコア7738

answer CHANGED
@@ -5,4 +5,60 @@
5
5
 
6
6
  その他にも、Windowsのタスク切り替えも数10msのブレを生む要因になるでしょうし、シリアル通信であれば9600bpsとして1バイトの送信におよそ1msかかる、なんていうのは考慮しなければいけません。
7
7
 
8
- Arduino側を何らかの方法でインターネットにつないでNTPで時計合わせをするとか、GPSを繋いでそこから時刻を得るとかして、データにタイムスタンプを付けるのが実用的かなとは思いますが。
8
+ Arduino側を何らかの方法でインターネットにつないでNTPで時計合わせをするとか、GPSを繋いでそこから時刻を得るとかして、データにタイムスタンプを付けるのが実用的かなとは思いますが。
9
+
10
+ ---
11
+
12
+ 100msでいい、とのことでとりあえず原理的なところだけ試してみました。
13
+ ```Teraterm Macro
14
+ ;Teraterm Macro
15
+ logopen "C:\Users\default\Documents\teraterm\testSec.log" 0 1 1 1 1
16
+ gettime sec "%S"
17
+ psec=sec
18
+ while 1
19
+ gettime sec "%S"
20
+ strcompare sec psec
21
+ if result<>0 then
22
+ send "q"
23
+ endif
24
+ psec=sec
25
+ endwhile
26
+ ```
27
+ ```Arduino
28
+ void setup() {
29
+ Serial.begin(9600);
30
+ }
31
+
32
+ void loop() {
33
+ if(Serial.available()){
34
+ Serial.read();
35
+ Serial.println(millis());
36
+ }
37
+ }
38
+ ```
39
+ で出来たTeratermのタイムスタンプ付きログファイル
40
+ ```
41
+
42
+ [Sat Nov 16 19:20:47.005 2019] 2268429
43
+ [Sat Nov 16 19:20:48.004 2019] 2269427
44
+ [Sat Nov 16 19:20:49.004 2019] 2270426
45
+ [Sat Nov 16 19:20:50.007 2019] 2271425
46
+ [Sat Nov 16 19:20:51.009 2019] 2272424
47
+ [Sat Nov 16 19:20:52.006 2019] 2273423
48
+ [Sat Nov 16 19:20:53.005 2019] 2274422
49
+ [Sat Nov 16 19:20:54.005 2019] 2275421
50
+ [Sat Nov 16 19:20:55.006 2019] 2276420
51
+ [Sat Nov 16 19:20:56.004 2019] 2277419
52
+ [Sat Nov 16 19:20:57.007 2019] 2278418
53
+ [Sat Nov 16 19:20:58.007 2019] 2279416
54
+ [Sat Nov 16 19:20:59.005 2019] 2280416
55
+ [Sat Nov 16 19:21:00.006 2019] 2281414
56
+ [Sat Nov 16 19:21:01.005 2019] 2282415
57
+ [Sat Nov 16 19:21:02.007 2019] 2283413
58
+ [Sat Nov 16 19:21:03.004 2019] 2284411
59
+ [Sat Nov 16 19:21:04.007 2019] 2285411
60
+ [Sat Nov 16 19:21:05.007 2019] 2286409
61
+ [Sat Nov 16 19:21:06.007 2019] 2287409
62
+ [Sat Nov 16 19:21:07.005 2019] 2288407
63
+ ```
64
+ あなたの用途にあうかどうかは私は知りませんが。