![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
20190816
main.cpp@23:39d96e160cf1, 2019-08-08 (annotated)
- Committer:
- VASKO
- Date:
- Thu Aug 08 13:24:28 2019 +0000
- Revision:
- 23:39d96e160cf1
- Parent:
- 22:1010cb11fb14
- Child:
- 24:fba9a58e6fbd
Rx header detection performed and added. Statistics displayed. Duplex at 115200.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
VASKO | 7:7aaa14391264 | 1 | #include "PrjDefs.h" |
VASKO | 0:5152e3f9df72 | 2 | |
VASKO | 0:5152e3f9df72 | 3 | DigitalOut myled(LED1); |
VASKO | 0:5152e3f9df72 | 4 | |
VASKO | 19:09c21f5f0625 | 5 | Serial dpc(USBTX,USBRX); |
VASKO | 19:09c21f5f0625 | 6 | |
VASKO | 19:09c21f5f0625 | 7 | Ticker tickTx; |
VASKO | 19:09c21f5f0625 | 8 | |
VASKO | 23:39d96e160cf1 | 9 | MsgType _msg; |
VASKO | 23:39d96e160cf1 | 10 | |
VASKO | 23:39d96e160cf1 | 11 | bool tick = 0; |
VASKO | 23:39d96e160cf1 | 12 | uint32_t ctr = 0; // счетчик обменов |
VASKO | 23:39d96e160cf1 | 13 | uint32_t ctro = 0; |
VASKO | 23:39d96e160cf1 | 14 | uint32_t Ectr = 0; // счетчик ошибок |
VASKO | 23:39d96e160cf1 | 15 | |
VASKO | 23:39d96e160cf1 | 16 | void dpc_func(){ |
VASKO | 23:39d96e160cf1 | 17 | (void) dpc.getc(); |
VASKO | 23:39d96e160cf1 | 18 | StartTx(&_msg.cmd); |
VASKO | 23:39d96e160cf1 | 19 | } |
VASKO | 23:39d96e160cf1 | 20 | |
VASKO | 19:09c21f5f0625 | 21 | void tickIntrFunc(void){ |
VASKO | 23:39d96e160cf1 | 22 | tick = 1; |
VASKO | 19:09c21f5f0625 | 23 | }//tickIntrFunc |
VASKO | 19:09c21f5f0625 | 24 | |
VASKO | 0:5152e3f9df72 | 25 | int main() { |
VASKO | 23:39d96e160cf1 | 26 | |
VASKO | 23:39d96e160cf1 | 27 | _msg.cmd=0x41; |
VASKO | 23:39d96e160cf1 | 28 | _msg.pars.ui32[0]=0; |
VASKO | 23:39d96e160cf1 | 29 | |
VASKO | 11:6519744c77f9 | 30 | TxRxServiceInit(); |
VASKO | 23:39d96e160cf1 | 31 | tickTx.attach(&tickIntrFunc, 1); |
VASKO | 23:39d96e160cf1 | 32 | dpc.baud(115200); |
VASKO | 23:39d96e160cf1 | 33 | dpc.attach(dpc_func); |
VASKO | 12:6f63e376c0aa | 34 | |
VASKO | 2:56a194afd255 | 35 | //Exige Monumentum |
VASKO | 9:dcddb19ad551 | 36 | //Я дебил,потому что хотел выполнить действия,которые |
VASKO | 2:56a194afd255 | 37 | //требуются постоянно,один раз и именно здесь. |
VASKO | 0:5152e3f9df72 | 38 | |
VASKO | 12:6f63e376c0aa | 39 | //Для дебилов: в mbed типы "int" и "unsigned int" имеют размер 4 байта !!! |
VASKO | 12:6f63e376c0aa | 40 | |
VASKO | 16:459ad1bd82fd | 41 | //https://os.mbed.com/forum/bugs-suggestions/topic/4264/ проблема выравнивания данных |
VASKO | 16:459ad1bd82fd | 42 | |
VASKO | 0:5152e3f9df72 | 43 | while(1) { |
VASKO | 15:30e45bd5902e | 44 | if ( RxBuffFull == 1 ) { |
VASKO | 15:30e45bd5902e | 45 | RxBuffFull = 0; |
VASKO | 23:39d96e160cf1 | 46 | if(GetCheckSum(&RxBuff.cmd) == RxBuff.cs){ |
VASKO | 23:39d96e160cf1 | 47 | myled = !myled; |
VASKO | 23:39d96e160cf1 | 48 | ctr = RxBuff.pars.ui32[0] + 1; |
VASKO | 23:39d96e160cf1 | 49 | if(tick){ |
VASKO | 23:39d96e160cf1 | 50 | tick = 0; |
VASKO | 23:39d96e160cf1 | 51 | dpc.printf("ctr = %d, diff = %d, Ectr = %d\n\r", ctr, ctr - ctro, Ectr); |
VASKO | 23:39d96e160cf1 | 52 | ctro = ctr; |
VASKO | 23:39d96e160cf1 | 53 | } |
VASKO | 23:39d96e160cf1 | 54 | }else Ectr++; |
VASKO | 23:39d96e160cf1 | 55 | _msg.pars.ui32[0] = ctr; |
VASKO | 23:39d96e160cf1 | 56 | StartTx(&_msg.cmd); |
VASKO | 10:f7a320faef76 | 57 | } |
VASKO | 8:cad966c09853 | 58 | }//while(1) |
VASKO | 9:dcddb19ad551 | 59 | }//main |
VASKO | 9:dcddb19ad551 | 60 |