Andreas schrieb:
> noch ne Frage zur ISR...ich hab mal gelesen das in die ISR höchstens
> Variablen rein sollen zumm hochzählen z.B. ...wenn das stimmt sollte man
> dann diese if Bedingung nicht lieber ins Hauptprogramm legen??
So wie alle Dogmen, ist auch dieses so nicht haltbar.
Du machst in einer ISR das, was es zu tun gibt. Das kann durchaus auch
mehr sein, als nur eine Flagvariable auf einen Wert zu setzen.
Es macht wenig Sinn einen komplizierten Mechanismus aufzusetzen, wenn
dadurch andere Funktionalität den Bach runter geht. Eine Portbit
umzuseten dauert auch nicht länger als eine Variable auf 1 zu setzen.
Also kannst du auch gleich das Portbit umsetzen, anstelle dir die Finger
mit 78 Flags und 12 Zusatzvariablen abzubrechen.
Was du in einer ISR nicht machen solltest, das sind Aktionen die lange
dauern! Insbesonders wenn diese Aktionen dann auch noch ein 'Warten auf
...' beinhalten, kann das ein No-No sein. Aber nichts von dem ist hier
der Fall.