Guten Tag
Die acht Eingänge am PORTC sollen ständig überwacht werden. Sobald ein
Bit gesetzt ist, soll festgestellt werden, an welchem Pin die Spannung
anliegt. Alle später gesetzten Bits können ignoriert werden.
Folgender einfacher Ansatz bisher:
1 | // ErrFlag kann per Taste wieder rückgesetzt werden
|
2 | // Am Port C ist ein Bit gesetzt worden
|
3 | if ( (ErrFlag == 0) & (PINC != 0) )
|
4 | {
|
5 | ErrFlag = 1;
|
6 | // Kanal bzw. Zustand festhalten
|
7 | ErrChnl = PINC; // -> Hier kann PINC bereits wieder 0 sein oder mehrere bits sind gesetzt!!
|
8 | // Ausgabe an LCD
|
9 | dogm_clear();
|
10 | dogm_gotoxy(0, 0);
|
11 | dogm_puts(itoa(ErrChnl, TempBufferLCD, 10));
|
12 | }
|
Wie kann zuverlässig festgestellt werden, welches Bit zuerst gesetzt
wurde? Hiermit möchte ich prüfen welcher "Kanal" zuerst auf TRUE geht.
Vielen Dank!
Gruss Samuel