vasko ozo
/
TxRxService
20190816
main.cpp
- Committer:
- VASKO
- Date:
- 2019-08-03
- Revision:
- 7:7aaa14391264
- Parent:
- 6:1364a236ee22
- Child:
- 8:cad966c09853
File content as of revision 7:7aaa14391264:
#include "PrjDefs.h" Serial pc(USBTX,USBRX); DigitalOut myled(LED1); uint8_t ArrTx[ArrTxSize] = ArrTxInitializer; uint8_t ArrRx[ArrRxSize] = ArrRxInitializer; uint8_t *pArrTx = &ArrTx[0]; uint8_t *pArrRx = &ArrRx[0]; void IntrTx() { if ( ++pArrTx <= &ArrTx[ArrTxSize-1] ){ pc.putc(*pArrTx); } else{ pc.attach(NULL, Serial::TxIrq); myled=0; } } void CopyMemUint8(uint8_t *src = &ArrRx[0], uint8_t *dst = &ArrTx[0], int qty = ArrTxSize){ for ( ; qty > 0; src++,dst++,qty-- ) *dst = *src; } void IntrRx() { *pArrRx = pc.getc(); if ( pArrRx++ >= &ArrRx[ArrRxSize-1] ) { pArrRx = &ArrRx[0]; CopyMemUint8(); pArrTx = &ArrTx[0]; pc.putc(*pArrTx); pc.attach(&IntrTx, Serial::TxIrq); myled=1; } } int main() { pc.attach(&IntrRx, Serial::RxIrq); pc.attach(NULL, Serial::TxIrq);//я УПЁРТЫЙ дебил //Exige Monumentum //Я дебил,потому что хотел выполнить действия,которые //требуются постоянно,один раз и именно здесь. while(1) { } }