nrf52832 SoC と MAX30102 心拍センサー間の I2C 通信を使用してファームウェアを作成するのに忙しいです。次のように、MAX30102 のレジスタにデータを書き込む関数で忙しいです。
uint32_t twi_write_buf(uint8_t addr, uint8_t regAddr, uint8_t *dataOut, uint8_t length)
{
uint8_t buff[255];
buff[0] = regAddr;
memcpy(&buff[1], dataOut, length);
return nrf_drv_twi_tx(&m_nrf_drv_twi, addr, (const uint8_t *) buff, length + 1, false);
}
次に、パラメーターと共に関数を呼び出します。
twi_write_buf(MAX30102, INT_ENABLE_1, 0xCO, ? );
関数のパラメーターを理解するために、サンプル コードを使用しました。
- MAX30102 = 0x57(センサーアドレス)
- INT_ENABLE_1 = 0X02 (レジスタアドレス)
- 0XCO (データシートを読んだときに、このパラメータがどこから来ているのか判断できません)
- このデータ バッファーの長さを判断するのに苦労しています。
以下に、MAX30102 のデータシートのスクリーンショットを添付しました。データ バッファの長さと、この 0xC0 データがどこから来たのかを判断する方法を教えてください。ありがとうございました