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

質問編集履歴

10

2019/05/05 03:57

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -95,4 +95,4 @@
95
95
  ・SAMSUNG microSD HC 32GB
96
96
 
97
97
  ### 今後やりたいこと
98
- 400us間隔で受信するCAN信号のログ保存を考えています。ログデータは1信号辺り21byteです。質問にある書き込み遅延の影響でログの取得漏れが起こっています。ログ保存の方法は文字型配列にデータを入れてまとめてSD.print(buf);する方法で行います。
98
+ 400us間隔で受信するCAN信号のログ保存を考えています。ログデータは1信号辺り21byteです。質問にある書き込み遅延の影響でログの取得漏れが起こっています。ログ保存の方法は文字型配列(buf)にデータを入れてからまとめてfile.print(buf);する方法で行います。

9

2019/05/05 03:57

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -95,4 +95,4 @@
95
95
  ・SAMSUNG microSD HC 32GB
96
96
 
97
97
  ### 今後やりたいこと
98
- 400us間隔でるCAN信号のログ保存を考えています。ログデータは1信号辺り21byteです。
98
+ 400us間隔で受信するCAN信号のログ保存を考えています。ログデータは1信号辺り21byteです。質問にある書き込み遅延の影響でログの取得漏れが起こっています。ログ保存の方法は文字型配列にデータを入れてまとめてSD.print(buf);する方法で行います。

8

2019/05/04 11:55

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
File without changes

7

2019/05/04 11:53

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -92,4 +92,7 @@
92
92
  ### 補足情報
93
93
  ・Arduino Uno R3
94
94
  ・Seeed Studio CAN-BUSシールドV2
95
- ・SAMSUNG microSD HC 32GB
95
+ ・SAMSUNG microSD HC 32GB
96
+
97
+ ### 今後やりたいこと
98
+ 400us間隔で来るCAN信号のログ保存を考えています。ログデータは1信号辺り21byteです。

6

2019/05/04 11:48

投稿

Alyn
Alyn

スコア51

title CHANGED
@@ -1,1 +1,1 @@
1
- 【Arduino】microSDの読み書き時間について
1
+ microSDの読み書き時間について
body CHANGED
File without changes

5

追記

2019/05/04 05:53

投稿

Alyn
Alyn

スコア51

title CHANGED
@@ -1,1 +1,1 @@
1
- 【Arduino】microSDの読み書きについて
1
+ 【Arduino】microSDの読み書き時間について
body CHANGED
File without changes

4

追記

2019/05/04 04:54

投稿

Alyn
Alyn

スコア51

title CHANGED
@@ -1,1 +1,1 @@
1
- microSDの読み書きについて
1
+ 【Arduino】microSDの読み書きについて
body CHANGED
@@ -2,7 +2,8 @@
2
2
  ArduinoでmicroSDに文字の読み書きをしています。
3
3
  その際の処理時間に差があることに気づきました。
4
4
  それは初回読み書き時と512byte読み書きするごとに処理時間の遅延が発生していました。
5
+
5
- 通常48us程度で終わる処理が2500us以上の処理時間を要していました。
6
+ 1byte書き込みは通常48us程度で終わるが2500us以上の処理時間を要していました。
6
7
  これは読み込みと書き込みに共通して起こる現象でした。
7
8
  そこで以下の質問です。
8
9
 

3

追記

2019/05/04 04:52

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -47,7 +47,7 @@
47
47
  while (!flg)
48
48
  {
49
49
  s_time = micros(); //起動経過時間をマイクロ秒(us)で返す
50
- file.print('1');
50
+ file.print('1'); //1byte書き込み
51
51
  e_time = micros(); //起動経過時間をマイクロ秒(us)で返す
52
52
  if ((e_time - s_time) >= 60)
53
53
  {

2

追記

2019/05/04 04:44

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -80,6 +80,7 @@
80
80
  1 19468
81
81
  513 2816
82
82
  1025 2516
83
+ 1537 2520
83
84
  2049 2516
84
85
  -----省略-----
85
86
  23553 2536

1

追記

2019/05/04 04:43

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -46,9 +46,9 @@
46
46
  bool flg = 0;
47
47
  while (!flg)
48
48
  {
49
- s_time = micros(); //起動経過時間をマイクロ秒で返す
49
+ s_time = micros(); //起動経過時間をマイクロ秒(us)で返す
50
50
  file.print('1');
51
- e_time = micros(); //起動経過時間をマイクロ秒で返す
51
+ e_time = micros(); //起動経過時間をマイクロ秒(us)で返す
52
52
  if ((e_time - s_time) >= 60)
53
53
  {
54
54
  c_buf[i] = count;