Iin = RMS_Value; // resolution :0.015625A
if(Iin < 300) //7A ,300*3.3/1023 = 0.9677v(mcu i/p)
{
Itemp = RMS_Value>>1; // 1 1000 0000
Iin = Iin+Itemp; // 300+480 =
Itemp = RMS_Value>>4;
Iin = Iin+Itemp;
Itemp = RMS_Value>>7;
Iin = Iin+Itemp;
Itemp = RMS_Value>>8;
Iin = Iin+Itemp;
Iin = Iin + 15;
}
else
{
Itemp = RMS_Value>>1;
Iin = Iin+Itemp;
Itemp = RMS_Value>>3;
Iin = Iin+Itemp;
Itemp = RMS_Value>>4;
Iin = Iin+Itemp;
Itemp = RMS_Value>>5;
Iin = Iin+Itemp;
Itemp = RMS_Value>>7;
Iin = Iin+Itemp;
Iin = Iin - 25;
}