Add multi read situation

some time the read function not completed on time, it triggered two or
more times read, which will cause the average value doubled . fix the
bug