Plese use this class with my "i2cslave" class.

Dependents:   2016_mother_3 WRS2019_master WRS2020_mecanum_node WRS2021_mecanum_driver

Committer:
sgrsn
Date:
Sat May 14 16:53:10 2016 +0000
Revision:
3:cece9736d272
Parent:
2:890301330892
Child:
4:3610d5b52107
Improvement of communication stop error by "getSlaveRegistarData();"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgrsn 0:8c3f6ccf349c 1 #include "i2cmaster.h"
sgrsn 0:8c3f6ccf349c 2
sgrsn 0:8c3f6ccf349c 3
sgrsn 0:8c3f6ccf349c 4 i2c::i2c(PinName p1,PinName p2) : I2C(p1,p2)
sgrsn 0:8c3f6ccf349c 5 {
sgrsn 0:8c3f6ccf349c 6 frequency(400000);
sgrsn 0:8c3f6ccf349c 7 }
sgrsn 3:cece9736d272 8 bool i2c::WriteSomeData(char addr, char reg, char data, int size)
sgrsn 0:8c3f6ccf349c 9 {
sgrsn 0:8c3f6ccf349c 10 char Data[2] = {data,0};
sgrsn 0:8c3f6ccf349c 11 char DATA[2] = {reg,size};
sgrsn 0:8c3f6ccf349c 12 bool N = I2C::write(addr,DATA,2);
sgrsn 0:8c3f6ccf349c 13 N|= I2C::write(addr,Data,size);
sgrsn 0:8c3f6ccf349c 14 return N;
sgrsn 0:8c3f6ccf349c 15 }
sgrsn 3:cece9736d272 16 bool i2c::getSlaveRegistarData(char addr, char reg, char *data, int size)
sgrsn 2:890301330892 17 {
sgrsn 2:890301330892 18 char DATA[2] = {reg,size};
sgrsn 2:890301330892 19 bool N = I2C::write(addr,DATA,2);
sgrsn 2:890301330892 20 N|= I2C::read(addr, data, size);
sgrsn 3:cece9736d272 21 wait_us(33300);
sgrsn 2:890301330892 22 return N;
sgrsn 2:890301330892 23 }
sgrsn 2:890301330892 24
sgrsn 3:cece9736d272 25