質問編集履歴
3
書式改善。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
Arduino Unoにおいて、timer1ライブラリの動作を確かめたく、以下の内容を動作させています。
|
2
|
-
|
2
|
+
: intervalの間隔ごとにgetTimeを呼び出す。
|
3
|
-
getTimeは、前回呼び出された時からの経過時間をシリアルに出力する。)
|
3
|
+
: getTimeは、前回呼び出された時からの経過時間をシリアルに出力する。(出力の値をPCより確認。)
|
4
4
|
|
5
5
|
intervalの値が8,000μ秒より大きい時は、結果として8000が連続して表示されます。(期待通りの結果。)
|
6
6
|
しかし、intervalの値がこれ以下の場合、期待通りの結果が得られません。
|
7
7
|
(8000が境界という訳ではありません。8000-7000の間に境界があります。)
|
8
|
-
getTime1回の実行に、(例えば)5,000μ秒以上かかっているのであれば、
|
9
8
|
|
9
|
+
getTime1回の実行に、(例えば)5000μ秒秒以上かかっているのであれば、
|
10
|
-
|
10
|
+
intervalを5000μ秒とした場合にこのような結果になることは理解できますが、
|
11
|
-
5,000μ秒以上かかっているとは考えにくいと思います。
|
11
|
+
実際に実行に5,000μ秒以上かかっているとは考えにくいと思います。
|
12
12
|
原因が思いつかず、ご教示頂けますと幸いです。
|
13
|
-
(最終的には、Arduino Unoで3200Hz
|
13
|
+
(最終的には、Arduino Unoで0.0003125秒に一回の間隔(3200Hz)でデータを取得したいと考えております。
|
14
14
|
|
15
15
|
```
|
16
16
|
#include <TimerOne.h>
|
2
誤字修正。
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,9 +5,9 @@
|
|
5
5
|
intervalの値が8,000μ秒より大きい時は、結果として8000が連続して表示されます。(期待通りの結果。)
|
6
6
|
しかし、intervalの値がこれ以下の場合、期待通りの結果が得られません。
|
7
7
|
(8000が境界という訳ではありません。8000-7000の間に境界があります。)
|
8
|
+
getTime1回の実行に、(例えば)5,000μ秒以上かかっているのであれば、
|
8
9
|
|
9
|
-
getTime1回の実行に、(例えば)5,000μ秒以上かかっているのであれば、
|
10
|
-
|
10
|
+
define interval 5000とした場合にこのような結果になることは理解できますが、
|
11
11
|
5,000μ秒以上かかっているとは考えにくいと思います。
|
12
12
|
原因が思いつかず、ご教示頂けますと幸いです。
|
13
13
|
(最終的には、Arduino Unoで3200Hz程度でループを回したいと考えています。(0.0003125秒に一回の間隔))
|
1
内容追加。
title
CHANGED
File without changes
|
body
CHANGED
@@ -2,10 +2,15 @@
|
|
2
2
|
(intervalの間隔ごとにgetTimeを呼び出す。
|
3
3
|
getTimeは、前回呼び出された時からの経過時間をシリアルに出力する。)
|
4
4
|
|
5
|
-
intervalの値が
|
5
|
+
intervalの値が8,000μ秒より大きい時は、結果として8000が連続して表示されます。(期待通りの結果。)
|
6
|
-
しかし、intervalの値が
|
6
|
+
しかし、intervalの値がこれ以下の場合、期待通りの結果が得られません。
|
7
|
+
(8000が境界という訳ではありません。8000-7000の間に境界があります。)
|
7
8
|
|
9
|
+
getTime1回の実行に、(例えば)5,000μ秒以上かかっているのであれば、
|
10
|
+
#define interval 5000とした場合にこのような結果になることは理解できますが、
|
11
|
+
5,000μ秒以上かかっているとは考えにくいと思います。
|
12
|
+
原因が思いつかず、ご教示頂けますと幸いです。
|
8
|
-
Arduino Unoで3200Hz程度でループを回したいと考えています。(0.0003125秒に一回の間隔)
|
13
|
+
(最終的には、Arduino Unoで3200Hz程度でループを回したいと考えています。(0.0003125秒に一回の間隔))
|
9
14
|
|
10
15
|
```
|
11
16
|
#include <TimerOne.h>
|
@@ -32,7 +37,8 @@
|
|
32
37
|
}
|
33
38
|
```
|
34
39
|
|
35
|
-
|
40
|
+
```
|
41
|
+
#define interval 8000とした場合のシリアルモニタ表示。(期待通り。)
|
36
42
|
8000
|
37
43
|
8000
|
38
44
|
8000
|
@@ -42,12 +48,23 @@
|
|
42
48
|
8000
|
43
49
|
8000
|
44
50
|
8000
|
51
|
+
```
|
52
|
+
|
53
|
+
|
54
|
+
```
|
55
|
+
#define interval 5000とした場合のシリアルモニタ表示。(期待通りでない。)
|
56
|
+
4294966336
|
57
|
+
192
|
45
|
-
|
58
|
+
80
|
59
|
+
64
|
60
|
+
64
|
61
|
+
64
|
62
|
+
64
|
63
|
+
64
|
64
|
+
64
|
65
|
+
64
|
66
|
+
64
|
67
|
+
64
|
68
|
+
64
|
69
|
+
64
|
46
|
-
|
70
|
+
```
|
47
|
-
8000
|
48
|
-
8000
|
49
|
-
8000
|
50
|
-
8000
|
51
|
-
8000
|
52
|
-
8000
|
53
|
-
8000
|