20190816

Dependencies:   mbed

Revision:
23:39d96e160cf1
Parent:
22:1010cb11fb14
Child:
24:fba9a58e6fbd
--- a/main.cpp	Thu Aug 08 08:48:44 2019 +0000
+++ b/main.cpp	Thu Aug 08 13:24:28 2019 +0000
@@ -6,18 +6,31 @@
 
 Ticker tickTx;
 
+MsgType _msg;
+
+bool tick = 0;
+uint32_t ctr = 0;  // счетчик обменов
+uint32_t ctro = 0; 
+uint32_t Ectr = 0; // счетчик ошибок
+
+void dpc_func(){
+    (void) dpc.getc();
+    StartTx(&_msg.cmd);
+    }
+
 void tickIntrFunc(void){
-    MsgType _msg;
-    _msg.cmd=0x41;
-    _msg.pars.ui32[0]=0x41424344;
-    StartTx(&_msg.cmd);
-    if(StartTx(&_msg.cmd)==StartOK) dpc.printf("Packet sending OK\n\r");
-    else dpc.printf("Last StartTx signalled TxBusy\n\r");
+    tick = 1;
     }//tickIntrFunc
 
 int main() {
+    
+    _msg.cmd=0x41;
+    _msg.pars.ui32[0]=0;
+    
     TxRxServiceInit();
-    tickTx.attach(&tickIntrFunc, 0.5);
+    tickTx.attach(&tickIntrFunc, 1);
+    dpc.baud(115200);
+    dpc.attach(dpc_func);
     
             //Exige Monumentum
             //Я дебил,потому что хотел выполнить действия,которые
@@ -30,7 +43,17 @@
     while(1) {
         if ( RxBuffFull == 1 ) { 
             RxBuffFull = 0;
-            if(GetCheckSum(&RxBuff.cmd) == RxBuff.cs) myled = !myled;
+            if(GetCheckSum(&RxBuff.cmd) == RxBuff.cs){
+                myled = !myled;
+                ctr = RxBuff.pars.ui32[0] + 1;
+                if(tick){
+                    tick = 0;
+                    dpc.printf("ctr = %d, diff = %d, Ectr = %d\n\r", ctr, ctr - ctro, Ectr); 
+                    ctro = ctr;
+                    }
+                }else Ectr++;
+            _msg.pars.ui32[0] = ctr;
+            StartTx(&_msg.cmd);
             }
         }//while(1)
 }//main