三、BQ769XX使用硬件I2C通信

本文介绍了如何使用STM32F103RCT6通过硬件I2C与BQ769XX系列芯片通信。详细阐述了I2C外设初始化、读写函数的实现,以及直接命令和子命令的分类与应用,包括写命令、读命令、子命令如器件型号读取、生产状态检查、FET_ENABLE、重置等操作。
摘要由CSDN通过智能技术生成
  • 本文使用STM32F103RCT6硬件平台,通过32硬件I2C与BQ通信
  • 一、I2C外设初始化
  • 1、IO设置
void HAL_I2C2_GPIO_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct = {0};

    __HAL_RCC_GPIOB_CLK_ENABLE();
    /**I2C2 GPIO Configuration
    PB10     ------> I2C2_SCL
    PB11     ------> I2C2_SDA
    */
    GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
    GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    
}
  • 2、II2C外设初始化

        初始化I2C2,主要设置:I2C编号,频率,地址,地址位数,和模式设置等参数

void IIC_Init(void)
{ 
	__HAL_RCC_I2C2_CLK_ENABLE();
	
	HAL_I2C2_GPIO_Init();
	
	hi2c2.Instance = I2C2;
	hi2c2.Init.ClockSpeed = 400000;
	hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2;
	hi2c2.Init.OwnAddress1 = 0;
	hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
	hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
	hi2c2.Init.OwnAddress2 = 0;
	hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
	hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
	
	if (HAL_I2C_Init(&hi2c2) != HAL_OK)
	{
	Error_Handler();
	}
	
	HAL_I2C2_GPIO_Init();

}
  • 3、读写函数

        BQ不仅又设备地址还有寄存器地址,所以我们使用HAL_I2C_Mem_Read()与HAL_I2C_Mem_Write()这两个函数。

HAL_I2C_Mem_Read(&hi2c1, DEV_
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
本应用报告包含多种信息,可帮助用户配置 BQ769x2 系列电池监控器(包括 BQ76942 和 BQ76952)。为帮助用户熟悉器件设置,此文档提供了多个常用配置示例。 1 引言 BQ769x2 电池监控器系列包括许多配置选项,可满足各种应用的需求。本文档使用 BQ76942 评估模块和 Battery Management Studio 演示了多个不同的配置示例。这些示例还可应用于 BQ769x2 系列中的所有器件。本文档还包含一个示例 .gg 文件,可使用 Battery Management Studio 将其加载到评估模块上。BQ76942 评估模块用户指南 包含有关设置器件的基本信息,本文档应与该指南一同使用。 2 基本配置 浏览 BQ76942 评估模块用户指南 的“快速入门”部分后,请参阅以下部分,了解配置器件的后续步骤。器件数据表和 TRM(技术参考手册)中提供了有关每个特性的更多详细信息。Battery Management Studio 还包括工具提示,当鼠标指针在不同字段上移动时,这些提示会提供不同设置的详细说明。 2.1 稳压器设置 BQ769x2 包含一个 1.8V 稳压器 (REG18) 和两个具有多种电压选项的 LDO(REG1 和 REG2)。REG18 电源不可配置,仅用于内部电路,而 REG1 和 REG2 是可配置的,可用于为外部电路供电。多个器件特性可引用 REG1,因此为这些特性启用 REG1 非常重要。评估模块还使用 REG1 作为多个引脚的上拉电压,因此建议启用前置稳压器 (REG0) 和 REG1。以下示例显示了如何启用 REG0、REG1 和 REG2。REG1 和 REG2 可设置为 1.8V、2.5V、3.0V、3.3V 或 5.0V。以下示例将 REG1 设为 3.3V,将 REG2 设为 2.5V。用于配置 REG1 和 REG2 的选项也显示在图 2-1 中。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值