binary

Committer:
ikarashikota
Date:
Thu Oct 06 23:33:23 2022 +0000
Revision:
3:78735753b3cc
Parent:
1:d37d53d33f0d
fixed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ikarashikota 0:65149aeacbcc 1 /** @author 五十嵐幸多
ikarashikota 0:65149aeacbcc 2 *
ikarashikota 0:65149aeacbcc 3 * 2進数の操作を楽にしたかったので作りました。
ikarashikota 0:65149aeacbcc 4 * 主に、送受信のデータを1byteずつに分けたり、結合したりします。
ikarashikota 0:65149aeacbcc 5 */
ikarashikota 0:65149aeacbcc 6 #ifndef DATACONTROL
ikarashikota 0:65149aeacbcc 7
ikarashikota 0:65149aeacbcc 8 #define DATACONTROL
ikarashikota 0:65149aeacbcc 9 #include "mbed.h"
ikarashikota 0:65149aeacbcc 10
ikarashikota 0:65149aeacbcc 11 /// 2進数の操作ができるクラスです。
ikarashikota 0:65149aeacbcc 12 class DataControl
ikarashikota 0:65149aeacbcc 13 {
ikarashikota 0:65149aeacbcc 14 public:
ikarashikota 0:65149aeacbcc 15
ikarashikota 0:65149aeacbcc 16 /** コンストラクタ
ikarashikota 0:65149aeacbcc 17 *
ikarashikota 0:65149aeacbcc 18 * 何の変哲もないコンストラクタです。初期化用。
ikarashikota 0:65149aeacbcc 19 */
ikarashikota 0:65149aeacbcc 20 DataControl();
ikarashikota 0:65149aeacbcc 21
ikarashikota 0:65149aeacbcc 22 /** 16bitデータを8bitずつに分ける関数
ikarashikota 0:65149aeacbcc 23 *
ikarashikota 0:65149aeacbcc 24 * uint16_t型のデータを8bitに分けて配列arrayに格納します。
ikarashikota 0:65149aeacbcc 25 * @param data 分けたいデータ
ikarashikota 0:65149aeacbcc 26 * @param *array 分けたデータを格納する配列
ikarashikota 0:65149aeacbcc 27 */
ikarashikota 0:65149aeacbcc 28 void dataSeparate(uint16_t data, char* array);
ikarashikota 0:65149aeacbcc 29
ikarashikota 0:65149aeacbcc 30 /** データを結合する関数
ikarashikota 0:65149aeacbcc 31 *
ikarashikota 0:65149aeacbcc 32 * 受信したデータを結合してint型で返すやつです。
ikarashikota 0:65149aeacbcc 33 * @param *array 受信したデータの配列
ikarashikota 0:65149aeacbcc 34 * @param _data_size 結合したいデータのサイズ(byte) 例:int型 → 4
ikarashikota 0:65149aeacbcc 35 * @return int 受信したデータ
ikarashikota 0:65149aeacbcc 36 */
ikarashikota 0:65149aeacbcc 37 int dataCombine(unsigned char *array, int _data_size);
ikarashikota 0:65149aeacbcc 38
ikarashikota 0:65149aeacbcc 39 /** 送信するデータをセットする関数
ikarashikota 0:65149aeacbcc 40 *
ikarashikota 0:65149aeacbcc 41 * 送信したいデータをセットします。
ikarashikota 0:65149aeacbcc 42 * @param data セットしたいデータ
ikarashikota 0:65149aeacbcc 43 * @param *data_array 送信するデータの配列
ikarashikota 0:65149aeacbcc 44 * @note 関数のオーバーロードを使っていろんな型のデータをセットできます。
ikarashikota 1:d37d53d33f0d 45 * 現時点ではchar型、uint16_t型、int型を実装しています。
ikarashikota 0:65149aeacbcc 46 */
ikarashikota 1:d37d53d33f0d 47 void dataSet(char data, char *data_array);
ikarashikota 1:d37d53d33f0d 48 void dataSet(uint16_t data, char *data_array);
ikarashikota 0:65149aeacbcc 49 void dataSet(int data, char *data_array);
ikarashikota 0:65149aeacbcc 50
ikarashikota 0:65149aeacbcc 51 protected:
ikarashikota 0:65149aeacbcc 52
ikarashikota 0:65149aeacbcc 53 /// dataSetの際にデータのbyte数が格納されます。
ikarashikota 0:65149aeacbcc 54 size_t separated_data_size;
ikarashikota 0:65149aeacbcc 55
ikarashikota 0:65149aeacbcc 56 /// データ結合用変数。いじる必要はありません。
ikarashikota 0:65149aeacbcc 57 int dataBuff[5];
ikarashikota 0:65149aeacbcc 58
ikarashikota 0:65149aeacbcc 59 };
ikarashikota 0:65149aeacbcc 60
ikarashikota 0:65149aeacbcc 61 #endif
ikarashikota 0:65149aeacbcc 62