UART wo rakuraku hedda- dasite kureru benrina yatu
COBS.h
- Committer:
- TakushimaYukimasa
- Date:
- 2022-06-29
- Revision:
- 0:93df1cb29b75
File content as of revision 0:93df1cb29b75:
#ifndef INCLDUED_COBS_h_ #define INCLDUED_COBS_h_ #include "mbed.h" /*-------------- クラス定義 --------------*/ class COBS { private: public: /* 送受信するデータサイズ(byte)を指定 * 送信側と受信側で合わせてね */ uint8_t dataSizeEncode; uint8_t dataSizeDecode; /* 送受信するデータサイズ(byte)を指定 */ void Encode(uint8_t *array); void Decode(uint8_t *array); }; #endif /***************************/ /* E n c o d e S a m p l e */ /***************************/ /* #include "COBS.h" COBS cobs; cobs.dataSizeEncode = 5; int main(){ //配列は送信データサイズ+2確保してください uint8_t data[cobs.dataSizeEncode + 2] = {0x23,0x10,0x33,0x00,0x21}; cobs.Encode(data); for(int i=0; i<cobs.dataSizeEncode+2; i++) putc(data[i]); } */ /***************************/ /* D e c o d e S a m p l e */ /***************************/ /* #include "COBS.h" COBS cobs; cobs.dataSizeDecode = 5; //配列は受信データサイズ+2確保してください uint8_t data[cobs.dataSizeEncode + 2] = {0}; uint8_t header = 0; //配列の代入位置 int main(){ uint8_t readData = getc(); if(readData == 0){ //データ数あってるならデコード if(header == cobs.dataSizeEncode + 2) cobs.Encode(data); header = 0; } else data[header] = readData; header++; } */