Gast
#3626476
Hallo! Ich bin gerade dabei ein LCD-Menü mithilfe eines ATMega32 zu realisieren und stoße da so langsam an meine Grenzen. Ziel ist es, gewisse Unterprogramme über ein Potentiometer anzuwählen,welche dann über einen Taster gestartet werden und genauso mit dem gleichen Taster auch wieder beendet werden sollen. [spoiler]
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
[/spoiler] Genau beim beenden des Programms liegt nun mein Problem: über einen Interrupt kann ja der Tastendruck auch mitten im Programmdurchlauf erkannt werden. In meinem Fall wird dann eine Variable verändert, welche am Ende des Programms abgefragt wird. Wie kann ich aber nun direkt beim Ausführen der ISR das laufende Programm beenden, und sofort ins "Hauptmenü" zurückspringen? Theoretisch müsste dafür ja der Stack Pointer um eins zurückgesetzt werden. oder ist das ein völlig falscher Ansatz? ich würde mich freuen, wenn mir hier jemand helfen kann! MfG Lukas