Hallo,
kann mir jemand da bei der Programmierung (in C-Sprache) einer
Keybord-Interrupt eines Lauflicht mit der Mikrokontroller 68HC908QY4
helfen.
Die Aufgabe ist :
----------------------------------------------------------------------
Gegeben ist der folgende Code :
-----------------------------------
1 | #include <hidef.h> /* for EnableInterrupts macro */
|
2 | #include "derivative.h" /* include peripheral declarations */
|
3 | // IO_Ports
|
4 | int delay = 5000;
|
5 | static void Delay(void) {
|
6 | int cnt = 0;
|
7 | while (cnt <delay)
|
8 | {
|
9 | __RESET_WATCHDOG(); /* feeds the dog */
|
10 | cnt++;
|
11 | }
|
12 | }
|
13 |
|
14 | static void LightShow(void) {
|
15 | unsigned char i;
|
16 | for (i = 1; i > 0; i <<=1) {
|
17 | PTB = i; // Daten über Port B ausgeben
|
18 | Delay();
|
19 | }
|
20 | }
|
21 |
|
22 | //Hauptprogramm
|
23 | void main(void) {
|
24 | //EnableInterrupts;
|
25 | /* Interrupts
|
26 | nicht
|
27 | freigeben */
|
28 | DDRB = 0xFF;
|
29 | // Data Direction Register Port B
|
30 | // alle Pins des Port B als Output
|
31 | LightShow();
|
32 | for(;;) {
|
33 | LightShow();
|
34 | } /* loop forever */
|
35 | /* please make sure that you never leave this function */
|
36 | }
|
------------------------------------------------------
Jetzt muss ich den obigen Code so modifizieren, dass der Lauf des
Lauflichts über einen Keybord-Interrupt gestartet und gestopt werden
kann.
wäre echt super wenn jemandem mir hier weiter helfen kann.
Danke schön.