Auf den letzten Metern

Dependencies:   mbed

Revision:
3:916c3a72cbd0
Parent:
2:063b68bbc135
Child:
4:ab3f709c4d2e
--- a/main.cpp	Mon Nov 07 09:05:06 2022 +0000
+++ b/main.cpp	Mon Nov 07 11:17:15 2022 +0000
@@ -104,14 +104,16 @@
                 //...
                 }
             if(bS1Timer == nTastLong){          /* Taste "lange gedrückt" erkannt */ 
-                bIdx--;
+                if(bIdx <= 0x0f || bIdx > 0x01) bIdx--;
+                else bIdx = 0x0f;
                 }
             bS1Timer++;
             }
         }
     else{                                       /* Taste nicht gedrückt */ 
         if((bS1Timer >= nTastShort) && (bS1Timer <= nTastLong)){             /* Taste wurde bereits erkannt */
-            bIdx++;
+            if(bIdx < 0x0f || bIdx >= 0x01) bIdx++;
+            else bIdx = 0x01;
             }
         bS1Timer = 0;
         }
@@ -191,7 +193,7 @@
     bLedShield = 0x00;
     while(1){
         vCheckTasten();
-        wSerial = abZiffer[bIdx & 0x0f]<<8 | bDigit ;            /* 7-Segmentziffer bestimmen */
+        wSerial = abZiffer[bIdx]<<8 | bDigit ;            /* 7-Segmentziffer bestimmen */
         vShiftLoad(wSerial);          /* Segmente verschieben und Digit festlegen */
         bLedShield = abBargraph[bBargraph & 0x03];          /* Bargraph bestimmen */
         wait_us(10000);