uint8_t型とunsigned char型に対応した多バイトシリアル通信用ライブラリ
Dependents: multiserial_test serial_check_controller receiverA receiver_transmitter ... more
MultiSerial.h
- Committer:
- Hatter
- Date:
- 2014-08-28
- Revision:
- 7:f15a96ec54e1
- Parent:
- 6:49c82ca5aa37
- Child:
- 8:cfc53cc4914a
File content as of revision 7:f15a96ec54e1:
/* *mbed Multibyte Serial Library *This comment is available in Japanese only */ #ifndef MULTISERIAL_H #define MULTISERIAL_H #include "mbed.h" #define __SIZE(array) (sizeof(array) / sizeof(array[0])) #define MAX_DATA_NUM 10 #define KEY 0//number of first data /** 多バイト通信用クラス * * Example: * @code * #include"mbed.h" * #include"MultiSerial.h" * * MultiSerial test1(p9,p10); * MultiSerial test2(USBTX,USBRX); * * int main(){ * * uint8_t data1[5]={0}; * test1.write(data1, 0xAA); * uint8_t data2[8]={0}; * test2.read(data2, 0xAA); * * * for(;;); * } * @endcode */ class MultiSerial{ public: /** 多バイト通信用オブジェクト作成 Serialにそのままつなげるよ * * @param tx Serial tx pin * @param rx Serial rx pin */ MultiSerial(PinName tx,PinName rx); /**データ読み込みするよ * * @param readData 読み込み先の配列アドレス * @param readKey 多バイト通信のキーコード */ void read(uint8_t* readData,uint8_t readKey); /**データカキコするよ * * @param writeData 送るデーターの配列アドレス * @param writeKey 多バイト通信のキーコード */ void write(uint8_t* writeData,uint8_t writeKey); /**送信割り込み用関数 * *@param none */ void TX(void); /**受信割り込み用関数 * *@param none */ void RX(void); protected: Serial __serial__; volatile uint8_t* __readData; volatile uint8_t __readSize; volatile uint8_t __readKey; volatile uint8_t* __writeData; volatile uint8_t __writeSize; volatile uint8_t __writeKey; }; #endif