Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 16:404bcdd9c518
- Parent:
- 15:bbcf8c3f91c5
- Child:
- 17:c34f14ec2beb
--- a/main.cpp Mon Dec 05 09:05:43 2022 +0000 +++ b/main.cpp Mon Dec 05 09:29:47 2022 +0000 @@ -257,20 +257,13 @@ /* Tastenabfrage */ void vTasteS1( void ){ - if(pinS1 == 0 || abTxBuffer[0] == 'a'){ /* User-Taste gedrückt */ - - do{ - for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ - if(abTxBuffer[zaehler] == 'a') bSCounter++; - } - } while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]); - - if(bS1Timer < nTastLong+1 || bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ + if(pinS1 == 0){ /* User-Taste gedrückt */ + if(bS1Timer < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ if(bS1Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */ //... } - if(bS1Timer == nTastLong || bSCounter == nTastLong){ /* Taste "lange gedrückt" erkannt */ - if(bDisplayState == enSchwellenwert || bDisplayState == enPotiAnzeige){ + if(bS1Timer == nTastLong){ /* Taste "lange gedrückt" erkannt */ + if(bDisplayState == enSchwellenwert){ bDisplayState = enVergleich; bMainState = enVergleich; } @@ -283,7 +276,7 @@ } } else{ /* Taste nicht gedrückt */ - if(((bS1Timer >= nTastShort) && (bS1Timer <= nTastLong)) || ((bSCounter >= nTastShort) && (bSCounter <= nTastLong))){ /* Taste wurde bereits erkannt */ + if(((bS1Timer >= nTastShort) && (bS1Timer <= nTastLong))){ /* Taste wurde bereits erkannt */ if(bDisplayState == enSchwellenwert){ bDisplayState = enPotiAnzeige; bMainState = enPotiAnzeige; @@ -296,16 +289,49 @@ bS1Timer = 0; bSCounter = 0; } + + if(abTxBuffer[0] == 'b') { /* User-Taste gedrückt */ + + for(zaehler=0; zaehler<=250; zaehler++) { /*Zaehlen der Tastatur-Eingabe*/ + while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == 'b') bSCounter++; + } + + if(bSCounter < nTastLong+1) { /* Abfrage max. bis Taste lange gedrückt */ + if(bS1Timer == nTastShort) { /* Taste "kurz gedrückt" erkannt */ + //... + } + if(bSCounter == nTastLong) { /* Taste "lange gedrückt" erkannt */ + if(bDisplayState == enPotiAnzeige) { + bDisplayState = enVergleich; + bMainState = enVergleich; + } else { + bDisplayState = enSchwellenwert; + bMainState = enSchwellenwert; + } + } + bS1Timer++; + } + } else { /* Taste nicht gedrückt */ + if(((bSCounter >= nTastShort) && (bSCounter <= nTastLong))) { /* Taste wurde bereits erkannt */ + if(bDisplayState == enSchwellenwert) { + bDisplayState = enPotiAnzeige; + bMainState = enPotiAnzeige; + } else { + bDisplayState = enSchwellenwert; + bMainState= enSchwellenwert; + } + } + bS1Timer = 0; + bSCounter = 0; + } } void vTasteS2( void ){ - if((pinS2 == 0 || abTxBuffer[0] == '+') && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ + if((pinS2 == 0 || abTxBuffer[0] == ',') && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ - do{ - for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ - if(abTxBuffer[zaehler] == 'a') bSCounter++; - } - } while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]); + for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ + while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == ',') bSCounter++; + } if(bS2Timer < nTastLong+1 || bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ if(bS2Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */ @@ -334,13 +360,11 @@ } void vTasteS3( void ){ - if((pinS3 == 0 || abTxBuffer[0] == '-') && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ + if((pinS3 == 0 || abTxBuffer[0] == '.') && bMainState == enSchwellenwert){ /* User-Taste gedrückt */ - do{ - for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ - if(abTxBuffer[zaehler] == 'a') bSCounter++; - } - } while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]); + for(zaehler=0; zaehler<=250; zaehler++){ /*Zaehlen der Tastatur-Eingabe*/ + while(abTxBuffer[zaehler] == abTxBuffer[zaehler+1]) if(abTxBuffer[zaehler] == '.') bSCounter++; + } if(bS3Timer < nTastLong+1 || bSCounter < nTastLong+1){ /* Abfrage max. bis Taste lange gedrückt */ if(bS3Timer == nTastShort){ /* Taste "kurz gedrückt" erkannt */