mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
cambus: Support 16-bit register address.
This commit is contained in:
parent
25d23f113d
commit
420d7f7eeb
@ -105,3 +105,29 @@ int cambus_writew(uint8_t slv_addr, uint8_t reg_addr, uint16_t reg_data)
|
|||||||
__enable_irq();
|
__enable_irq();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cambus_readw2(uint8_t slv_addr, uint16_t reg_addr, uint16_t *reg_data)
|
||||||
|
{
|
||||||
|
int ret=0;
|
||||||
|
__disable_irq();
|
||||||
|
if (HAL_I2C_Mem_Read(&I2CHandle, slv_addr, reg_addr,
|
||||||
|
I2C_MEMADD_SIZE_16BIT, (uint8_t*) reg_data, 2, I2C_TIMEOUT) != HAL_OK) {
|
||||||
|
ret = -1;
|
||||||
|
}
|
||||||
|
__enable_irq();
|
||||||
|
*reg_data = (*reg_data >> 8) | (*reg_data << 8);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cambus_writew2(uint8_t slv_addr, uint16_t reg_addr, uint16_t reg_data)
|
||||||
|
{
|
||||||
|
int ret=0;
|
||||||
|
reg_data = (reg_data >> 8) | (reg_data << 8);
|
||||||
|
__disable_irq();
|
||||||
|
if (HAL_I2C_Mem_Write(&I2CHandle, slv_addr, reg_addr,
|
||||||
|
I2C_MEMADD_SIZE_16BIT, (uint8_t*) ®_data, 2, I2C_TIMEOUT) != HAL_OK) {
|
||||||
|
ret = -1;
|
||||||
|
}
|
||||||
|
__enable_irq();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|||||||
@ -15,4 +15,6 @@ int cambus_readb(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data);
|
|||||||
int cambus_writeb(uint8_t slv_addr, uint8_t reg_addr, uint8_t reg_data);
|
int cambus_writeb(uint8_t slv_addr, uint8_t reg_addr, uint8_t reg_data);
|
||||||
int cambus_readw(uint8_t slv_addr, uint8_t reg_addr, uint16_t *reg_data);
|
int cambus_readw(uint8_t slv_addr, uint8_t reg_addr, uint16_t *reg_data);
|
||||||
int cambus_writew(uint8_t slv_addr, uint8_t reg_addr, uint16_t reg_data);
|
int cambus_writew(uint8_t slv_addr, uint8_t reg_addr, uint16_t reg_data);
|
||||||
|
int cambus_readw2(uint8_t slv_addr, uint16_t reg_addr, uint16_t *reg_data);
|
||||||
|
int cambus_writew2(uint8_t slv_addr, uint16_t reg_addr, uint16_t reg_data);
|
||||||
#endif // __CAMBUS_H__
|
#endif // __CAMBUS_H__
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user