i2cslave class without interrupt process

i2cslave.h

Committer:
sgrsn
Date:
2017-02-26
Revision:
0:2976149f5c28

File content as of revision 0:2976149f5c28:

#ifndef MBED_I2CSLAVE_H
#define MBED_I2CSLAVE_H

#include "mbed.h"

#define SendData        0
#define RequestData     1

class i2cslave : public I2CSlave
{
    public:
    char *_Registar;
    i2cslave(PinName sda, PinName scl, char *Registar);
    /*{
        _Registar = Registar;
        frequency(400000);
    }*/
    
    void communication();
    /*{
        switch(receive())
        {
            case I2CSlave::NoData:            //データなし
                break;
            case I2CSlave::ReadAddressed:     //マスターからのデータ送信要求
                break;
            case I2CSlave::WriteAddressed:    //マスターからデータを受信
                geti2c();
                break;
            case I2CSlave::WriteGeneral:      //マスターからデータを受信(全スレーブ宛)
                break;
        }
    }*/
    void geti2c();
    /*{
        char i2cData[3] = {};
        read(i2cData, 3);
        wait_us(30);
        switch(i2cData[2])
        {
            case SendData:
                read(_Registar + i2cData[1], i2cData[0]);
                break;
            case RequestData:
                write(_Registar + i2cData[1], i2cData[0]);
                break;
        }
    }*/
};
 
#endif