Hi Rini,
Why do you use the HAL driver , i have a quick look at your code ,
you almost copy the code under the function " I2C_DRV_MasterSendDataBlocking()".
I don't know what is value do this.
And if you do not want send data by block , you can refer to the demo noBlocking:i2c_non_blocking
And i test your project on my side, it can not work , i recommend you directly use the driver function ,
and there is demo code can refer to , while for the HAL functions , there is no demo , we should check
each code of functions .
BR
Alice