ZHCAD89A August   2020  – October 2023 BQ79600-Q1

 

  1.   1
  2.   BQ79600-Q1 软件设计参考
  3.   商标
  4. 1命令帧
    1. 1.1 结构
      1. 1.1.1 初始化字节
      2. 1.1.2 器件 ID 地址
      3. 1.1.3 寄存器地址
      4. 1.1.4 数据
      5. 1.1.5 CRC
    2. 1.2 命令帧模板表
    3. 1.3 读取寄存器和写入寄存器函数
      1. 1.3.1 ReadReg/SpiReadReg
      2. 1.3.2 WriteReg/SPIWriteReg
      3. 1.3.3 示例代码中可用的数据包类型
  5. 2快速入门指南
    1. 2.1 唤醒序列
    2. 2.2 自动寻址
      1. 2.2.1 步骤
      2. 2.2.2 由 3 个器件组成的栈的示例命令
    3. 2.3 读取电芯电压
      1. 2.3.1 步骤
      2. 2.3.2 由 3 个器件组成的栈的示例命令
      3. 2.3.3 转换为电压
    4. 2.4 反向寻址
      1. 2.4.1 步骤
      2. 2.4.2 由三个器件组成的栈的示例命令
  6. 3修订历史记录

ReadReg/SpiReadReg

ReadRegSpiReadReg 函数的基本结构如下:

UART sample code:
#_of_Read_Bytes = ReadReg(Device_Address, Register_Address, Incoming_Data_Byte_Array, #_Data_Bytes, ms_Before_Time_Out, Packet_Type) 
SPI sample code:
#_of_Read_Bytes = SpiReadReg(Device_Address, Register_Address, Incoming_Data_Byte_Array, #_Data_Bytes, ms_Before_Time_Out, Packet_Type)

Device_Address#_Data_Bytesms_Before_Time_OutPacket_Type 是整数。Register_Address 是十六进制值(带有前缀“0x”)。Incoming_Data_Byte_Array 是 UART 示例代码中的 1 字节十六进制值数组和 SPI 示例代码中 2 字节十六进制值数组。

Device_Address 在广播和栈读命令中会被忽略。

例如:

UART sample code:
nRead = ReadReg(nDev_ID, 0x0306, bFrame, 12, 0, FRMWRT_SGL_R);
SPI sample code:
nRead = SpiReadReg(nDev_ID, 0x0306, bFrame, 12, 0, FRMWRT_SGL_R);

此行会从器件 nDev_ID 的寄存器 0x0306 读取 12 个字节的数据,并将其存储在名为 bFrame 的本地字节数组中(在微控制器上)。数据包类型为单器件读。