i2cslave class without interrupt process
i2cslave.h@0:2976149f5c28, 2017-02-26 (annotated)
- Committer:
- sgrsn
- Date:
- Sun Feb 26 07:04:56 2017 +0000
- Revision:
- 0:2976149f5c28
i2cslave class without interrupt process 2017/2/26
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sgrsn | 0:2976149f5c28 | 1 | #ifndef MBED_I2CSLAVE_H |
sgrsn | 0:2976149f5c28 | 2 | #define MBED_I2CSLAVE_H |
sgrsn | 0:2976149f5c28 | 3 | |
sgrsn | 0:2976149f5c28 | 4 | #include "mbed.h" |
sgrsn | 0:2976149f5c28 | 5 | |
sgrsn | 0:2976149f5c28 | 6 | #define SendData 0 |
sgrsn | 0:2976149f5c28 | 7 | #define RequestData 1 |
sgrsn | 0:2976149f5c28 | 8 | |
sgrsn | 0:2976149f5c28 | 9 | class i2cslave : public I2CSlave |
sgrsn | 0:2976149f5c28 | 10 | { |
sgrsn | 0:2976149f5c28 | 11 | public: |
sgrsn | 0:2976149f5c28 | 12 | char *_Registar; |
sgrsn | 0:2976149f5c28 | 13 | i2cslave(PinName sda, PinName scl, char *Registar); |
sgrsn | 0:2976149f5c28 | 14 | /*{ |
sgrsn | 0:2976149f5c28 | 15 | _Registar = Registar; |
sgrsn | 0:2976149f5c28 | 16 | frequency(400000); |
sgrsn | 0:2976149f5c28 | 17 | }*/ |
sgrsn | 0:2976149f5c28 | 18 | |
sgrsn | 0:2976149f5c28 | 19 | void communication(); |
sgrsn | 0:2976149f5c28 | 20 | /*{ |
sgrsn | 0:2976149f5c28 | 21 | switch(receive()) |
sgrsn | 0:2976149f5c28 | 22 | { |
sgrsn | 0:2976149f5c28 | 23 | case I2CSlave::NoData: //データなし |
sgrsn | 0:2976149f5c28 | 24 | break; |
sgrsn | 0:2976149f5c28 | 25 | case I2CSlave::ReadAddressed: //マスターからのデータ送信要求 |
sgrsn | 0:2976149f5c28 | 26 | break; |
sgrsn | 0:2976149f5c28 | 27 | case I2CSlave::WriteAddressed: //マスターからデータを受信 |
sgrsn | 0:2976149f5c28 | 28 | geti2c(); |
sgrsn | 0:2976149f5c28 | 29 | break; |
sgrsn | 0:2976149f5c28 | 30 | case I2CSlave::WriteGeneral: //マスターからデータを受信(全スレーブ宛) |
sgrsn | 0:2976149f5c28 | 31 | break; |
sgrsn | 0:2976149f5c28 | 32 | } |
sgrsn | 0:2976149f5c28 | 33 | }*/ |
sgrsn | 0:2976149f5c28 | 34 | void geti2c(); |
sgrsn | 0:2976149f5c28 | 35 | /*{ |
sgrsn | 0:2976149f5c28 | 36 | char i2cData[3] = {}; |
sgrsn | 0:2976149f5c28 | 37 | read(i2cData, 3); |
sgrsn | 0:2976149f5c28 | 38 | wait_us(30); |
sgrsn | 0:2976149f5c28 | 39 | switch(i2cData[2]) |
sgrsn | 0:2976149f5c28 | 40 | { |
sgrsn | 0:2976149f5c28 | 41 | case SendData: |
sgrsn | 0:2976149f5c28 | 42 | read(_Registar + i2cData[1], i2cData[0]); |
sgrsn | 0:2976149f5c28 | 43 | break; |
sgrsn | 0:2976149f5c28 | 44 | case RequestData: |
sgrsn | 0:2976149f5c28 | 45 | write(_Registar + i2cData[1], i2cData[0]); |
sgrsn | 0:2976149f5c28 | 46 | break; |
sgrsn | 0:2976149f5c28 | 47 | } |
sgrsn | 0:2976149f5c28 | 48 | }*/ |
sgrsn | 0:2976149f5c28 | 49 | }; |
sgrsn | 0:2976149f5c28 | 50 | |
sgrsn | 0:2976149f5c28 | 51 | #endif |