Gast
#3592765
Hallo, ich bin neu in dem Thema der uC bzw. ASM und habe eine Frage zum Codeaufbau. Ich habe eine zeitunkritische MAIN in der auf ein paar externe Signale gewartet (teilweise mehrere Sekunden) und dann weitergerechnet werden muss. Parallel hierzu soll der uC aber seinen Status per Blinkmuster signalisieren. Diese Blinkroutine braucht aber auch etwas länger (~ 40 Wörter). Was viel zu lange für eine ISR ist, zumal andere Zeitkritische Interrupts auftreten können. Meine Idee ist einen durchlaufenden Timer mit x ms CompareInterrupt laufen zu lassen. Der Interrupt tut nichts ausser Interrupts wieder freigeben (SEI) die Blinkroutine aktivieren (RCALL). Im Folgenden noch mal als Code
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 | |
Macht soetwas Sinn? Was gäbe es für Alternativen und was wäre die bessere/beste? Danke für eure Hilfe! --Daniel