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計算了。這里有點不明白
|