本帖最后由 qazq123 于 2015-10-23 15:35 编辑
能不能再帮忙看看。我数码管显示为225.0V,有万用表测限流电阻端的电压为0.299~0.302之间变换。我是计算出问题了吗?还是数据类型出问题?还是采集错了?求帮忙,大哥。temp_single是unsigned int型。temp_sum是unsigned long型。VREF是50。 参考电压为5V。直流偏置2.4V
- #pragma interrupt_handler adc_isr:iv_ADC
- void adc_isr(void)
- {
- ADMUX =0x46;//选择内部AVCC为基准
- temp_single=ADC&0x3ff;
- temp_single=(unsigned long)((unsigned long)(temp_single*50/0x3ff)-24);
- temp_sum = temp_sum + temp_single*temp_single;
- if(flag==64)
- {
- adc_rel=(unsigned int)((unsigned long)(sqrt((temp_sum)/64))*750);
- flag = 0;
- temp_sum = 0;
- }
- }
|