#pragma interrupt_handler adc_isr:iv_ADC
void adc_isr(void)
{
ADMUX =0x46;//选择内部AVCC为基准
temp_single=ADC&0x3ff;
temp_single=temp_single*Vref/0x3ff;
temp_sum = temp_sum + temp_single*temp_single;
if(flag==64)
{
adc_rel=(unsigned int)sqrt((temp_sum)/64);
flag = 0;
temp_sum = 0;
}
我改成这样,也不行额- - 。 用均方根的方式应该没错吧? |