|
@ -90,11 +90,14 @@ void i2cStartTransmission(I2C_TypeDef* I2Cx, uint8_t dir, uint8_t slave_addr) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void i2cWrite(I2C_TypeDef* I2Cx, uint8_t* data) |
|
|
void i2cWrite(I2C_TypeDef* I2Cx, uint8_t* data, uint16_t len, uint32_t timeout) |
|
|
{ |
|
|
{ |
|
|
I2C_SendData(I2Cx, *data); |
|
|
if(len-- >= 1) { |
|
|
while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); |
|
|
I2C_SendData(I2Cx, *data++); |
|
|
//while(!I2C_GetFlagStatus(I2Cx, I2C_FLAG_BTF));
|
|
|
} |
|
|
|
|
|
while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_TRANSMITTED) && timeout) { |
|
|
|
|
|
timeout--; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void i2cAckOn(I2C_TypeDef* I2Cx) |
|
|
void i2cAckOn(I2C_TypeDef* I2Cx) |
|
|