Dear nordic,
I started to integrate PCF853(RTC module) using i2c. but its not getting proper output can you help me what wrong i do?
slave address:- 0x51
read register address:-0x01(control register2)
below code iam trying to read control register2(0x01) according to datasheet the default value is 0x00 but i got 0xB3
pcf8563 prortocol

/**
* @brief TWI events handler.
*/
void twi_handler(nrf_drv_twi_evt_t const * p_event, void * p_context)
{
switch (p_event->type)
{
case NRF_DRV_TWI_EVT_DONE:
if (p_event->xfer_desc.type == NRF_DRV_TWI_XFER_RX)
{
data_handler(m_sample);
}
m_xfer_done = true;
break;
default:
break;
}
}
/**
* @brief UART initialization.
*/
void twi_init (void)
{
ret_code_t err_code;
const nrf_drv_twi_config_t twi_lm75b_config = {
.scl = ARDUINO_SCL_PIN,
.sda = ARDUINO_SDA_PIN,
.frequency = NRF_DRV_TWI_FREQ_100K,
.interrupt_priority = APP_IRQ_PRIORITY_HIGH,
.clear_bus_init = false
};
err_code = nrf_drv_twi_init(&m_twi, &twi_lm75b_config, twi_handler, NULL);
APP_ERROR_CHECK(err_code);
nrf_drv_twi_enable(&m_twi);
}
int main(void)
{
m_xfer_done = false;
err_code = nrf_drv_twi_tx(&m_twi, PCF8563_I2C_ADDR_WRITE, reg, sizeof(reg), false);
NRF_LOG_INFO("error found in reading = %d",err_code);
while (m_xfer_done == false);
m_xfer_done = false;
nrf_drv_twi_rx(&m_twi, PCF8563_I2C_ADDR_WRITE, RW_Reg, 1);
while (m_xfer_done == false);
}
I need a help from your side . what wrong i do?