This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

bq20z95 programming question/problem

I found the sample VB script example in slua404 chapter 23.

WriteSMBusInteger(&H0, &H0f00) works (I'm in Bootrom mode)

WriteSMBusInteger(&H9, (&H200+iRow) * 32) & ReadSMBusByteArray(&H0c, yRowData, iLen) reading works.

WriteSMBusInteger(&H11, iRow) works fine, erased 32 byte block. which selected iRow.

WriteSMBusByteArray(&H10, yRowData, 32+1) seems not working (nothing happens after execute the commands)

My qestions:

1. What exactly do the WriteSMBusByteArray? It send 33 byte per block? But the smbus block communication is max 32 byte?

  • I found this in bq20z95 application book:

    WriteSMBusByteArray()hasthreearguments–theSMBuscommand,thearrayofbytesandan integer specifying the length of the byte array. Internally, this function separates the byte array into separate bytes for transmission by the SMBus write-block protocol.

    What does is exactly means? It means the WriteSMBusByteArray()'s input byte array split to parts and send those parts by SMBus write-block protocol? How to split it?