这方面的资料真的很少,好不容易找到个案例吧,还要开会员花钱。我就来免费分享一下我的研究心得吧,本人很菜,研究的很不咋地,只能说能用,有大佬的话,欢迎来指点我。废话不多说,开始正文。
一 BQ25713资料
去百度搜数据手册,有中文的。这些寄存器是非常重要的,好好查看。
二 程序
1.先搞定I2C通信
//读一个字节
static u8 BQ25713_ReadOneByte ( u16 ReadAddr )
{
u8 temp;
HAL_I2C_Mem_Read ( &hi2c2, 0xD6, ReadAddr, I2C_MEMADD_SIZE_8BIT, &temp, 1, 1000 );
return temp;
}
//写两个字节
static void BQ_25713_IIC_Send_Byte ( u8 Reg_ADDR, u16 Data )
{
uint8_t buff[2];
buff[0] = Data & 0xFF; //LSB发送字节
buff[1] = ( Data >> 8 ) & 0xFF; //MSB发送字节
HAL_I2C_Mem_Write ( &hi2c2, 0xD6, Reg_ADDR, I2C_MEMADD_SIZE_8BIT, buff, 2, 1000 );
}
封装一下写函数,用于检测有没有写入成功
s