Li Weiyi
/
BalanceCar
虽然移植完毕,但是不work。需要细调……
I2Cdev.h@0:a4d8f5b3c546, 2016-06-04 (annotated)
- Committer:
- lixianyu
- Date:
- Sat Jun 04 03:16:52 2016 +0000
- Revision:
- 0:a4d8f5b3c546
- Child:
- 2:99785a1007a4
Pass compile!!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lixianyu | 0:a4d8f5b3c546 | 1 | #ifndef _I2CDEV_H_ |
lixianyu | 0:a4d8f5b3c546 | 2 | #define _I2CDEV_H_ |
lixianyu | 0:a4d8f5b3c546 | 3 | #include "mbed.h" |
lixianyu | 0:a4d8f5b3c546 | 4 | |
lixianyu | 0:a4d8f5b3c546 | 5 | #define I2CDEV_DEFAULT_READ_TIMEOUT 1000 |
lixianyu | 0:a4d8f5b3c546 | 6 | class I2Cdev { |
lixianyu | 0:a4d8f5b3c546 | 7 | public: |
lixianyu | 0:a4d8f5b3c546 | 8 | I2Cdev(); |
lixianyu | 0:a4d8f5b3c546 | 9 | |
lixianyu | 0:a4d8f5b3c546 | 10 | static int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 11 | static int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 12 | static int8_t readBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 13 | static int8_t readBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 14 | static int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 15 | static int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 16 | static int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 17 | static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 18 | |
lixianyu | 0:a4d8f5b3c546 | 19 | static bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data); |
lixianyu | 0:a4d8f5b3c546 | 20 | static bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data); |
lixianyu | 0:a4d8f5b3c546 | 21 | static bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data); |
lixianyu | 0:a4d8f5b3c546 | 22 | static bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data); |
lixianyu | 0:a4d8f5b3c546 | 23 | static bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data); |
lixianyu | 0:a4d8f5b3c546 | 24 | static bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data); |
lixianyu | 0:a4d8f5b3c546 | 25 | static bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data); |
lixianyu | 0:a4d8f5b3c546 | 26 | static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data); |
lixianyu | 0:a4d8f5b3c546 | 27 | |
lixianyu | 0:a4d8f5b3c546 | 28 | static uint16_t readTimeout; |
lixianyu | 0:a4d8f5b3c546 | 29 | }; |
lixianyu | 0:a4d8f5b3c546 | 30 | |
lixianyu | 0:a4d8f5b3c546 | 31 | #endif /* _I2CDEV_H_ */ |