Hallo,
Hab in der Schule gerade ein kleines Projekt bekommen.
Nun habe ich folgendes Problem
Ich hab bei mehreren Eingängen am µC Verschiedene Zustände die
ausgewertet werden müssten.
Folgende Zustände sind möglich:
Low, High, Blinken (ca. 1Hz), Blitzen (ca. 2Hz)
Eine Delay Funktion geht schon mal gar nicht da sie zu viel Zeit und
Ressourcen verbraten würde
Eine andere Möglichkeit die mir gekommen wäre ist das ganze via
Interrupt zu realisieren
Hätte ich mir ungefähr so vorgestellt:
Pseudo Code:
1 | void ISR_Input1(int i, count_Timer)
|
2 | {
|
3 |
|
4 | count_Timer = timer2
|
5 | i++
|
6 |
|
7 | if(i==10)
|
8 | {
|
9 | global_Var_Auswertung1= count_Timer/10
|
10 | i= 0
|
11 | }
|
12 | }
|
Da die Zustände an den Eingängen verschiedene Tests darstellen welche
bis zu 1,5h dauern können und parallel laufen (können) ist mir nicht
wirklich klar wie man das am besten lösen könnte
da ich sonst ja 10 Interrupts brauchen würde und sich diese dann
gegenseitig stören würden bzw. Frage ich mich wie würde das dann mit dem
restlichen Code aussehen
Ob dafür noch genügend Ressourcen übrig bleiben?
Wie kann man das elegant lösen?
Bin für jede Hilfe dankbar