Hi yangkai,
First of all thanks for starting this discussion as i am new to mpu6050. I am also facing similar problem as you have described.
I would like to add some more point to that question.
1. According to the MPU6050 Register Map and Description document version 4.0. Several register are either Read only or Write only.
For Example : Register 117 – Who Am I ( Reg Address : 0x75) Read only.
But in Library their are both get and Set function available.
For Example : void MPU6050::setDeviceID(uint8_t id); and uint8_t MPU6050::getDeviceID();
Question is if the register is Read only then why their is set function available in Lib??