i2cmaster class without interrupt process

Committer:
sgrsn
Date:
Sun Feb 26 07:02:27 2017 +0000
Revision:
0:a7ab96dc6a35
i2cmaster class without interrut process

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgrsn 0:a7ab96dc6a35 1 #ifndef MBED_I2CMASTER_H
sgrsn 0:a7ab96dc6a35 2 #define MBED_I2CMASTER_H
sgrsn 0:a7ab96dc6a35 3
sgrsn 0:a7ab96dc6a35 4 #include "mbed.h"
sgrsn 0:a7ab96dc6a35 5
sgrsn 0:a7ab96dc6a35 6 #define SendData 0
sgrsn 0:a7ab96dc6a35 7 #define RequestData 1
sgrsn 0:a7ab96dc6a35 8
sgrsn 0:a7ab96dc6a35 9 class i2c : public I2C
sgrsn 0:a7ab96dc6a35 10 {
sgrsn 0:a7ab96dc6a35 11 public:
sgrsn 0:a7ab96dc6a35 12 i2c(PinName sda, PinName scl);
sgrsn 0:a7ab96dc6a35 13 /*{
sgrsn 0:a7ab96dc6a35 14 frequency(400000);
sgrsn 0:a7ab96dc6a35 15 }*/
sgrsn 0:a7ab96dc6a35 16
sgrsn 0:a7ab96dc6a35 17 void sendi2c(char addr, char registar, int data, int size = 0);
sgrsn 0:a7ab96dc6a35 18 /*{
sgrsn 0:a7ab96dc6a35 19 if(size > 0) size = size;
sgrsn 0:a7ab96dc6a35 20 else if(data > 0xFFFFFF) size = 4;
sgrsn 0:a7ab96dc6a35 21 else if(data > 0xFFFF) size = 3;
sgrsn 0:a7ab96dc6a35 22 else if(data > 0xFF) size = 2;
sgrsn 0:a7ab96dc6a35 23 else size = 1;
sgrsn 0:a7ab96dc6a35 24 char DATA[4] = {data & 0xFF, (data>>8) & 0xFF, (data>>16) & 0xFF, (data>>24) & 0xFF};
sgrsn 0:a7ab96dc6a35 25 char i2cData[3] = {size, registar, SendData};
sgrsn 0:a7ab96dc6a35 26 write(addr, i2cData, 3);
sgrsn 0:a7ab96dc6a35 27 write(addr, DATA, size);
sgrsn 0:a7ab96dc6a35 28 }*/
sgrsn 0:a7ab96dc6a35 29
sgrsn 0:a7ab96dc6a35 30 int getSlaveData(char addr, char registar, int size = 1);
sgrsn 0:a7ab96dc6a35 31 /*{
sgrsn 0:a7ab96dc6a35 32 char i2cData[3] = {size, registar, RequestData};
sgrsn 0:a7ab96dc6a35 33 char getData[12] = {};
sgrsn 0:a7ab96dc6a35 34 write(addr, i2cData, 3);
sgrsn 0:a7ab96dc6a35 35 read(addr, getData, size);
sgrsn 0:a7ab96dc6a35 36 return getData[0] | (getData[1] << 8) | (getData[2] << 16) | (getData[3] << 24);
sgrsn 0:a7ab96dc6a35 37 }*/
sgrsn 0:a7ab96dc6a35 38 };
sgrsn 0:a7ab96dc6a35 39
sgrsn 0:a7ab96dc6a35 40 #endif