U16 j;
U16 g;
for(i=0;i<2;i++)
{
delay_ms(250);
UART1_SendData(0xAA);
// Get_ADC10bitResult(i); //参数0~7,查询方式做一次ADC, 丢弃一次
if(i=0)
{
g = Get_ADC10bitResult(2); //参数0~7,查询方式做一次ADC, 返回值就是结果, == 1024 为错误
}
else
{
P1ASF = 0;
j = Get_ADC10bitResult(0); //读内部基准电压, P1ASF=0, 读0通道
P1ASF = ADC_P12;
Nref = j;
}
j = (u32)2500 * (u32)g / Nref; //Ux = Vref * Nx / Nref. Vref = 2500mV
Value_high = j/256;
Value_low = j%256;
UART1_SendData(Value_high);
UART1_SendData(Value_low);
UART1_SendData(0xBB);
delay_ms(250);
}
做过电压ADC的大神们,这样计算对么? |