Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
DataControl.h@3:78735753b3cc, 2022-10-06 (annotated)
- Committer:
- ikarashikota
- Date:
- Thu Oct 06 23:33:23 2022 +0000
- Revision:
- 3:78735753b3cc
- Parent:
- 1:d37d53d33f0d
fixed
Who changed what in which revision?
| User | Revision | Line number | New 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 |