STM32 Cube I2C访问16位寄存器数据函数
利用HAL库函数,访问从设备16位寄存器机数据,函数如下:
int Dev_I2C_W16(uint16_t reg_addr,uint16_t data)
{
uint8_t tx_buffer;
tx_buffer=reg_addr>>8;//reg_MSB
tx_buffer=reg_addr;//reg_LSB
tx_buffer=data; //data_LSB
tx_buffer=data>>8; //data_MSB
HAL_I2C_Master_Transmit(&hi2c1, (uint16_t)I2C_ADDRESS, tx_buffer, 4, 100);
return 0;
}
求大神指导一下,这种写法是否正确?谢谢!
可以的,如果是EEPROM之类的器件可以用这个函数
HAL_I2C_Mem_Write(&hi2c3, 0xa0, StartAddr, I2C_MEMADD_SIZE_16BIT, pDataArray, Size, 1000);
页:
[1]