Auf den letzten Metern
Dependencies: mbed
Diff: main.cpp
- Revision:
- 20:0f975b296b67
- Parent:
- 19:8fdd91276de8
- Child:
- 21:2c1292affc10
--- a/main.cpp Mon Dec 05 13:51:24 2022 +0000 +++ b/main.cpp Mon Dec 05 15:32:54 2022 +0000 @@ -151,6 +151,8 @@ * Description : pointer to data */ +byte bComp; + word wSerial; /* * Description : serielles Ausgaberegister @@ -433,6 +435,12 @@ // Empfangsroutine vom COM-Port des PC void vIsrRxComX( void ){ // Empfangsroutine if(stComX.readable()){ // Empfangs-ISR +for(int i=60; i>0; i--){ + abTxBufferOld[i]=abTxBuffer[i]; +} +for(int i=60; i>0; i--){ + abTxBuffer[i]=abTxBuffer[i-1]; +} abTxBuffer[0] = stComX.getc(); SYS_vStartComX(1, &abTxBuffer[0]); } @@ -447,11 +455,11 @@ bDisplayState = enPotiAnzeige; bMainState = enPotiAnzeige; } - if(bMainState==enPotiAnzeige) { + else if(bMainState==enPotiAnzeige) { bDisplayState = enVergleich; bMainState = enVergleich; } - if(bMainState==enVergleich) { + else { bDisplayState = enSchwellenwert; bMainState = enSchwellenwert; } @@ -473,9 +481,15 @@ } void vCheckCom(void){ - vComA(); - vComPlus(); - vComMinus(); + for(int i=60; i>=0; i--){ + if(abTxBufferOld[i]!=abTxBuffer[i]) bComp=1; + } + if(bComp==1){ + vComA(); + vComPlus(); + vComMinus(); + } + bComp=0; }