i2cmaster class without interrupt process
i2cmaster.h
- Committer:
- sgrsn
- Date:
- 2017-02-26
- Revision:
- 0:a7ab96dc6a35
File content as of revision 0:a7ab96dc6a35:
#ifndef MBED_I2CMASTER_H #define MBED_I2CMASTER_H #include "mbed.h" #define SendData 0 #define RequestData 1 class i2c : public I2C { public: i2c(PinName sda, PinName scl); /*{ frequency(400000); }*/ void sendi2c(char addr, char registar, int data, int size = 0); /*{ if(size > 0) size = size; else if(data > 0xFFFFFF) size = 4; else if(data > 0xFFFF) size = 3; else if(data > 0xFF) size = 2; else size = 1; char DATA[4] = {data & 0xFF, (data>>8) & 0xFF, (data>>16) & 0xFF, (data>>24) & 0xFF}; char i2cData[3] = {size, registar, SendData}; write(addr, i2cData, 3); write(addr, DATA, size); }*/ int getSlaveData(char addr, char registar, int size = 1); /*{ char i2cData[3] = {size, registar, RequestData}; char getData[12] = {}; write(addr, i2cData, 3); read(addr, getData, size); return getData[0] | (getData[1] << 8) | (getData[2] << 16) | (getData[3] << 24); }*/ }; #endif