Plese use this class with my "i2cslave" class.
Dependents: 2016_mother_3 WRS2019_master WRS2020_mecanum_node WRS2021_mecanum_driver
i2cmaster.cpp@5:331f2332186f, 2016-09-26 (annotated)
- Committer:
- sgrsn
- Date:
- Mon Sep 26 10:27:42 2016 +0000
- Revision:
- 5:331f2332186f
- Parent:
- 4:3610d5b52107
add wait() function
Who changed what in which revision?
User | Revision | Line number | New 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 | 5:331f2332186f | 14 | wait_us(500); |
sgrsn | 0:8c3f6ccf349c | 15 | return N; |
sgrsn | 0:8c3f6ccf349c | 16 | } |
sgrsn | 3:cece9736d272 | 17 | bool i2c::getSlaveRegistarData(char addr, char reg, char *data, int size) |
sgrsn | 2:890301330892 | 18 | { |
sgrsn | 2:890301330892 | 19 | char DATA[2] = {reg,size}; |
sgrsn | 2:890301330892 | 20 | bool N = I2C::write(addr,DATA,2); |
sgrsn | 2:890301330892 | 21 | N|= I2C::read(addr, data, size); |
sgrsn | 2:890301330892 | 22 | return N; |
sgrsn | 2:890301330892 | 23 | } |
sgrsn | 2:890301330892 | 24 | |
sgrsn | 3:cece9736d272 | 25 |