Li Weiyi
/
BalanceCar
虽然移植完毕,但是不work。需要细调……
I2Cdev.h@3:c6caae712d5d, 2016-06-07 (annotated)
- Committer:
- lixianyu
- Date:
- Tue Jun 07 08:14:15 2016 +0000
- Revision:
- 3:c6caae712d5d
- Parent:
- 2:99785a1007a4
??????????work? ?????
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 | 2:99785a1007a4 | 10 | static void init(); |
lixianyu | 0:a4d8f5b3c546 | 11 | static int8_t readBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 12 | static int8_t readBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 13 | 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 | 14 | 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 | 15 | static int8_t readByte(uint8_t devAddr, uint8_t regAddr, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 16 | static int8_t readWord(uint8_t devAddr, uint8_t regAddr, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 17 | static int8_t readBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 18 | static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); |
lixianyu | 0:a4d8f5b3c546 | 19 | |
lixianyu | 0:a4d8f5b3c546 | 20 | static bool writeBit(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint8_t data); |
lixianyu | 0:a4d8f5b3c546 | 21 | static bool writeBitW(uint8_t devAddr, uint8_t regAddr, uint8_t bitNum, uint16_t data); |
lixianyu | 0:a4d8f5b3c546 | 22 | static bool writeBits(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint8_t data); |
lixianyu | 0:a4d8f5b3c546 | 23 | static bool writeBitsW(uint8_t devAddr, uint8_t regAddr, uint8_t bitStart, uint8_t length, uint16_t data); |
lixianyu | 0:a4d8f5b3c546 | 24 | static bool writeByte(uint8_t devAddr, uint8_t regAddr, uint8_t data); |
lixianyu | 0:a4d8f5b3c546 | 25 | static bool writeWord(uint8_t devAddr, uint8_t regAddr, uint16_t data); |
lixianyu | 0:a4d8f5b3c546 | 26 | static bool writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data); |
lixianyu | 0:a4d8f5b3c546 | 27 | static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data); |
lixianyu | 0:a4d8f5b3c546 | 28 | |
lixianyu | 0:a4d8f5b3c546 | 29 | static uint16_t readTimeout; |
lixianyu | 0:a4d8f5b3c546 | 30 | }; |
lixianyu | 0:a4d8f5b3c546 | 31 | |
lixianyu | 0:a4d8f5b3c546 | 32 | #endif /* _I2CDEV_H_ */ |