i2cslave class without interrupt process

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?

UserRevisionLine numberNew 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