tiny13的ADC怎么用
PB3的采样,用万用表测一下,就能正常工作,不拿表笔去碰,程序就不正常。不能正常采样。 你不会看手册吗? flotox 发表于 2014-7-11 10:20你不会看手册吗?
手册看了啊。那个公式感觉不准,我实际的采样值都没法用 请问Tinty13增益是多少,手册上没写。。 ice_fire_love 发表于 2014-7-11 11:40
请问Tinty13增益是多少,手册上没写。。
void ADC_init(void)
{
ADCSRA=0x00;
ADMUX = (1 << REFS0) | (1 << MUX1);//1.1V ref, ADC2
ACSR = (1 << ACD);
ADCSRA = (1 << ADEN) | (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2);
}
uint8_t get_vol(void)
{
volatile uint16_t adc_val;
volatile uint8_t vol;
ADC = 0;
ADCSRA|=(1 << ADSC);
loop_until_bit_is_clear(ADCSRA, ADSC);
adc_val = ADC;
if(adc_val > CAP_EMPTE_ADC_VALUE) {
vol = ((adc_val - CAP_EMPTE_ADC_VALUE) * 12) / (CAP_RANGE_ADC_VALUE);
} else {
vol = 0;
}
return vol;
}
源代码:
https://github.com/hellprototypes/Li-ion_Voltage_Meter/blob/master/main.c 貌似不用管增益,直接拿输入电压根据公式算。那个什么表笔会干扰就不管了。把值计算好,写进程序。以后就再不用表笔去测了。
页:
[1]