这个是我ADCoffset的程序,运行后再读出ADC实时数据咋没有什么变化,有效值offset,有效值增益,都怎么处理呀?大神们帮帮忙吧
void ADC_offset(void)
{
u8 n;
u32 d=0;
Write_Spi(0x31,0x3430);//关闭高通滤波器
Read_SPI_xdata_Metering_Parameter[0]=Read_Spi(0x32);//&0x00ffffff;//电压1
Read_SPI_xdata_Metering_Parameter[1]=Read_Spi(0x33);//&0x00ffffff;//电压2
Read_SPI_xdata_Metering_Parameter[2]=Read_Spi(0x34);//&0x00ffffff;//电压3
Read_SPI_xdata_Metering_Parameter[3]=Read_Spi(0x2F);//&0x00ffffff;//A相电流
Read_SPI_xdata_Metering_Parameter[4]=Read_Spi(0x30);//&0x00ffffff;//B相电流
Read_SPI_xdata_Metering_Parameter[5]=Read_Spi(0x31);//&0x00ffffff;//C相电流
for(n=0;n<100;n++)
{
d=Read_Spi(0x32);
Read_SPI_xdata_Metering_Parameter[0]= (Read_SPI_xdata_Metering_Parameter[0]+d)>>1;//&0x00ffffff;//
d=Read_Spi(0x33);
Read_SPI_xdata_Metering_Parameter[1]=(Read_SPI_xdata_Metering_Parameter[1]+d)>>1;//&0x00ffffff;//
d=Read_Spi(0x34);
Read_SPI_xdata_Metering_Parameter[2]=(Read_SPI_xdata_Metering_Parameter[2]+d)>>1;//&0x00ffffff;//
d=Read_Spi(0x2F);
Read_SPI_xdata_Metering_Parameter[3]=(Read_SPI_xdata_Metering_Parameter[3]+d)>>1;//&0x00ffffff;//
d=Read_Spi(0x30);
Read_SPI_xdata_Metering_Parameter[4]=(Read_SPI_xdata_Metering_Parameter[4]+d)>>1;//&0x00ffffff;//
d=Read_Spi(0x31);
Read_SPI_xdata_Metering_Parameter[5]=(Read_SPI_xdata_Metering_Parameter[5]+d)>>1;//&0x00ffffff;//
}
Write_Spi(0x2A,Read_SPI_xdata_Metering_Parameter[0]);
Write_Spi(0x2B,Read_SPI_xdata_Metering_Parameter[1]);
Write_Spi(0x2C,Read_SPI_xdata_Metering_Parameter[2]);
Write_Spi(0x2D,Read_SPI_xdata_Metering_Parameter[3]);
Write_Spi(0x2E,Read_SPI_xdata_Metering_Parameter[4]);
Write_Spi(0x2F,Read_SPI_xdata_Metering_Parameter[5]);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7022是什么?不懂。
这问题没法答,白发帖了。
一周热门 更多>