vasko ozo
/
TxRxService
20190816
Diff: main.cpp
- 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