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

質問編集履歴

2

修正

2020/06/24 04:43

投稿

Alyn
Alyn

スコア51

title CHANGED
@@ -1,1 +1,1 @@
1
- 割り込みとvolatileについて
1
+ 割り込みとvolatile修飾子について
body CHANGED
@@ -57,7 +57,7 @@
57
57
  void printFx()
58
58
  {
59
59
  static uint32_t before = 0;
60
- uint32_t current = millis();
60
+ uint32_t current = millis(); //ミリ秒時間取得
61
61
 
62
62
  //2000ミリ秒経過判定
63
63
  if(getTime(current, before) >= 2000)

1

コメント追加

2020/06/24 04:43

投稿

Alyn
Alyn

スコア51

title CHANGED
File without changes
body CHANGED
@@ -32,11 +32,12 @@
32
32
  {
33
33
  int recv = 0;
34
34
 
35
+ //シリアル受信判定
35
36
  if(Serial.available() > 0)
36
37
  {
37
38
  while(1)
38
39
  {
39
- recv = Serial.read();
40
+ recv = Serial.read(); //1byteずつ吐き出し
40
41
  if(recv != -1)
41
42
  {
42
43
  if(recv == '1')
@@ -46,6 +47,7 @@
46
47
  }
47
48
  else
48
49
  {
50
+ //シリアルデータなし
49
51
  break;
50
52
  }
51
53
  }
@@ -56,9 +58,11 @@
56
58
  {
57
59
  static uint32_t before = 0;
58
60
  uint32_t current = millis();
61
+
62
+ //2000ミリ秒経過判定
59
63
  if(getTime(current, before) >= 2000)
60
64
  {
61
- Serial.print("Print!");
65
+ Serial.println("Print!");
62
66
  before = current;
63
67
  }
64
68
  }
@@ -73,6 +77,7 @@
73
77
  }
74
78
  else
75
79
  {
80
+ //オーバーフロー時
76
81
  gettime = a + (0xFFFFFFFF - b);
77
82
  }
78
83