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

質問編集履歴

3

書式改善。

2018/01/22 11:32

投稿

yusuken1
yusuken1

スコア6

title CHANGED
File without changes
body CHANGED
@@ -1,16 +1,16 @@
1
1
  Arduino Unoにおいて、timer1ライブラリの動作を確かめたく、以下の内容を動作させています。
2
- (intervalの間隔ごとにgetTimeを呼び出す。
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
- define interval 5000とした場合にこのような結果になることは理解できますが、
10
+ interval5000μ秒とした場合にこのような結果になることは理解できますが、
11
- 5,000μ秒以上かかっているとは考えにくいと思います。
11
+ 実際に実行に5,000μ秒以上かかっているとは考えにくいと思います。
12
12
  原因が思いつかず、ご教示頂けますと幸いです。
13
- (最終的には、Arduino Unoで3200Hz程度したいと考えてます。(0.0003125秒に一回の間隔))
13
+ (最終的には、Arduino Unoで0.0003125秒に一回の間隔(3200Hz)取得したいと考えております。
14
14
 
15
15
  ```
16
16
  #include <TimerOne.h>

2

誤字修正。

2018/01/22 11:32

投稿

yusuken1
yusuken1

スコア6

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
- #define interval 5000とした場合にこのような結果になることは理解できますが、
10
+ define interval 5000とした場合にこのような結果になることは理解できますが、
11
11
  5,000μ秒以上かかっているとは考えにくいと思います。
12
12
  原因が思いつかず、ご教示頂けますと幸いです。
13
13
  (最終的には、Arduino Unoで3200Hz程度でループを回したいと考えています。(0.0003125秒に一回の間隔))

1

内容追加。

2018/01/22 09:03

投稿

yusuken1
yusuken1

スコア6

title CHANGED
File without changes
body CHANGED
@@ -2,10 +2,15 @@
2
2
  (intervalの間隔ごとにgetTimeを呼び出す。
3
3
  getTimeは、前回呼び出された時からの経過時間をシリアルに出力する。)
4
4
 
5
- intervalの値が8000μ秒より大きい時は、結果として8000が連続して表示されます。(期待通りの結果。)
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
- 8000
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
- 8000
70
+ ```
47
- 8000
48
- 8000
49
- 8000
50
- 8000
51
- 8000
52
- 8000
53
- 8000