AD是16位AD,反向电流范围0-2.5V,正向电流范围2.5-5V。 程序内如下: 采样值 ltemp=(long)uiEXADCResultArray-0x8000; ltemp=_IQ16toIQ30(); 设定值 iqI_SET=_IQ30mpyIQX( I_SET , 10 , Div_I_Base , 30);
其中ltemp=(long)uiEXADCResultArray-0x8000; 应该范围在-32768~+32768 那么按道理ltemp=_IQ16toIQ30(); 从iq16变为iq30,范围应该是-0.5~0.5 但是设定值的范围却是-1~1。然后就直接进行PI计算了。这里有点不明白
|