Showing
1 changed file
with
9 additions
and
0 deletions
... | @@ -2,11 +2,13 @@ | ... | @@ -2,11 +2,13 @@ |
2 | #include <wiringPi.h> | 2 | #include <wiringPi.h> |
3 | const int LedRed[8] = { 4, 17, 18, 27, 22, 23, 24, 25 }; | 3 | const int LedRed[8] = { 4, 17, 18, 27, 22, 23, 24, 25 }; |
4 | const int Keypad[5] = { 6, 12, 13, 16, 19 }; | 4 | const int Keypad[5] = { 6, 12, 13, 16, 19 }; |
5 | +int state = 0; | ||
5 | int KeypadRead() | 6 | int KeypadRead() |
6 | { | 7 | { |
7 | int i, keypadnum = -1; | 8 | int i, keypadnum = -1; |
8 | for (i = 0; i < 2; i++) { | 9 | for (i = 0; i < 2; i++) { |
9 | if (!digitalRead(Keypad[i])) { | 10 | if (!digitalRead(Keypad[i])) { |
11 | + state = 1; | ||
10 | keypadnum = i; break; | 12 | keypadnum = i; break; |
11 | } | 13 | } |
12 | } | 14 | } |
... | @@ -24,6 +26,7 @@ void LedControl(int num) | ... | @@ -24,6 +26,7 @@ void LedControl(int num) |
24 | } | 26 | } |
25 | void stop() { | 27 | void stop() { |
26 | LedControl(-1); | 28 | LedControl(-1); |
29 | + state = 0; | ||
27 | } | 30 | } |
28 | int main(void) | 31 | int main(void) |
29 | { | 32 | { |
... | @@ -45,23 +48,28 @@ int main(void) | ... | @@ -45,23 +48,28 @@ int main(void) |
45 | if (keypadnum == 0) { | 48 | if (keypadnum == 0) { |
46 | while (1) { | 49 | while (1) { |
47 | for (i = 0; i < 8; i++) { | 50 | for (i = 0; i < 8; i++) { |
51 | + if (state == 0) break; | ||
48 | LedControl(i); | 52 | LedControl(i); |
49 | delay(500); | 53 | delay(500); |
50 | } | 54 | } |
51 | digitalWrite(LedRed[i - 1], LOW); | 55 | digitalWrite(LedRed[i - 1], LOW); |
56 | + if (state == 0) break; | ||
52 | } | 57 | } |
53 | } | 58 | } |
54 | else if (keypadnum == 1) { | 59 | else if (keypadnum == 1) { |
55 | while (1) { | 60 | while (1) { |
56 | for (i = 7; i >= 0; i--) { | 61 | for (i = 7; i >= 0; i--) { |
62 | + if (state == 0) break; | ||
57 | LedControl(i); | 63 | LedControl(i); |
58 | delay(500); | 64 | delay(500); |
59 | } | 65 | } |
60 | digitalWrite(LedRed[i + 1], LOW); | 66 | digitalWrite(LedRed[i + 1], LOW); |
67 | + if (state == 0) break; | ||
61 | } | 68 | } |
62 | } | 69 | } |
63 | if (keypadnum == 3) { | 70 | if (keypadnum == 3) { |
64 | for (i = 0; i < 8; i++) { | 71 | for (i = 0; i < 8; i++) { |
72 | + if (state == 0) break; | ||
65 | LedControl(i); | 73 | LedControl(i); |
66 | delay(500); | 74 | delay(500); |
67 | } | 75 | } |
... | @@ -69,6 +77,7 @@ int main(void) | ... | @@ -69,6 +77,7 @@ int main(void) |
69 | } | 77 | } |
70 | else if (keypadnum == 4) { | 78 | else if (keypadnum == 4) { |
71 | for (i = 7; i >= 0; i--) { | 79 | for (i = 7; i >= 0; i--) { |
80 | + if (state == 0) break; | ||
72 | LedControl(i); | 81 | LedControl(i); |
73 | delay(500); | 82 | delay(500); |
74 | } | 83 | } | ... | ... |
-
Please register or login to post a comment