//typedef enum {false, true} bool; #define SOP 0x7E #define EOP 0x7E #define ESC 0x7D #define XOR 0x20 //добавление байтстафинга 1 байта int bytestuff(uint8_t *buf0,uint8_t byte,int len) { switch(byte) { case SOP: buf0[len++] = ESC; buf0[len++] = SOP^XOR; break; case ESC: buf0[len++] = ESC; buf0[len++] = ESC^XOR; break; default: buf0[len++] = byte; break; } return len; } typedef enum {WAIT_SOF,ESC_SEQ,WAIT_EOF} STATE_RX; //--------------------------------------------------------------------------- //разборщик очищенного принятного пакета void dispel_rx_buf0(uint8_t* buf0,int len) { for(int i=0;i