回答編集履歴
1
回答に追記
test
CHANGED
@@ -3,3 +3,23 @@
|
|
3
3
|
プログラムループにしといて、スイッチの割り込みがかかるのを確認しましょう
|
4
4
|
|
5
5
|
それがきちんと動作するのを確認したあと、スリープモードに移行させてみればどうでしょう
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
こういうことをする場合は、まずCPUのデータシートを読みましょう。
|
12
|
+
|
13
|
+
すると、今の回路/コードではいろいろまずい、というのが見えてきます
|
14
|
+
|
15
|
+
0. スリープから復帰するためには、INT0/1ではレベル割り込みしか使えない
|
16
|
+
|
17
|
+
0. レベル割り込みは、Lowレベル割り込みしかないので、スイッチ入力回路を修正する必要がある(現状はSWを押してHighとなる)
|
18
|
+
|
19
|
+
0. そして、レベル割り込みでは、Lowレベルになっている間、割り込みが繰り返しかかるようになっている
|
20
|
+
|
21
|
+
これじゃまずいので、割り込み関数でdetachInterruptを呼ぶ?
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
実際に動かしたわけじゃないのでアレですが、参考にどうぞ
|