SLUAA17A August   2020  – October 2023 BQ79600-Q1

 

  1.   1
  2.   BQ79600-Q1 Software Design Reference
  3.   Trademarks
  4. 1Command Frames
    1. 1.1 Structure
      1. 1.1.1 Initialization Byte
      2. 1.1.2 Device ID Address
      3. 1.1.3 Register Address
      4. 1.1.4 Data
      5. 1.1.5 CRC
    2. 1.2 Command Frame Template Tables
    3. 1.3 Read Register and Write Register Functions
      1. 1.3.1 ReadReg/SpiReadReg
      2. 1.3.2 WriteReg/SPIWriteReg
      3. 1.3.3 Packet Types Available in Sample Code
  5. 2Quick Start Guide
    1. 2.1 Wake Sequence
    2. 2.2 Auto-Addressing
      1. 2.2.1 Steps
      2. 2.2.2 Example Commands for a Stack of 3 Devices
    3. 2.3 Read Cell Voltages
      1. 2.3.1 Steps
      2. 2.3.2 Example Commands for a Stack of 3 Devices
      3. 2.3.3 Convert to Voltages
    4. 2.4 Reverse Addressing
      1. 2.4.1 Steps
      2. 2.4.2 Example Commands for a Stack of Three Devices
  6. 3Revision History

WriteReg/SPIWriteReg

The basic structure for the WriteReg and SpiWriteReg function is as follows:

UART sample code:
#_of_Sent_Bytes = WriteReg(Device_Address, Register_Address, Data, #_Data_Bytes, Packet_Type)
SPI sample code:
#_of_Sent_Bytes = SpiWriteReg(Device_Address, Register_Address, Data, #_Data_Bytes, Packet_Type)

Device_Address, #_Data_Bytes and Packet_Type are integers, while Register_Address and Data are hex values (with the prefix "0x"). Device_Address is ignored for broadcast and stack writes.

For example:

UART sample code:
nSent = WriteReg(nDev_ID, 0x0306, 0x01, 1, FRMWRT_SGL_NR);
SPI sample code:
nSent = SpiWriteReg(nDev_ID, 0x0306, 0x01, 1, FRMWRT_SGL_NR);

This line writes to register 0x0306 of the device nDev_ID with one byte of data. The data sent is 0x01. The type of packet is a single device write.