prellung schrieb:
> Funktioniert meine Routine grade zufällig oder ist irgendwo ein
> Fehler versteckt den ich garnicht durchschaue?
Wenn Du sie selber schon nicht durchschaust, wie soll das dann ein
anderer?
Es stimmt, if-else Monster sind wirklich schlecht zu durchschauen.
Du versucht ja offensichtlich eine Statemaschine zu erstellen, dann
schreibe es auch als eine:
1 | enum{
|
2 | IRGENDWAS,
|
3 | IRGEDWIE,
|
4 | NOCHNSTATE,
|
5 | };
|
6 |
|
7 | switch( PinState ){
|
8 | case IRGENDWAS:
|
9 | // usw.
|
Eine Funktion funktioniert auch nicht im luftleeren Raum.
Wenn sie jemand verstehen soll, mußt Du auch den Kontext hinschreiben,
in dem sie aufgerufen wird (Main-Loop).
Und wenn eine Funktion etwas an den Aufrufer zurückliefern soll, ist ein
void denkbar ungeeignet.
Globale Variablen nimmt man nur, wenn es nicht anders geht.