ice_fire_love 发表于 2014-7-11 09:46:18

tiny13的ADC怎么用

PB3的采样,用万用表测一下,就能正常工作,不拿表笔去碰,程序就不正常。不能正常采样。

flotox 发表于 2014-7-11 10:20:09

你不会看手册吗?

ice_fire_love 发表于 2014-7-11 11:04:18

flotox 发表于 2014-7-11 10:20
你不会看手册吗?

手册看了啊。那个公式感觉不准,我实际的采样值都没法用

ice_fire_love 发表于 2014-7-11 11:40:44

请问Tinty13增益是多少,手册上没写。。

hell-prototypes 发表于 2014-7-11 12:25:59

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

ice_fire_love 发表于 2014-7-12 11:28:11

貌似不用管增益,直接拿输入电压根据公式算。那个什么表笔会干扰就不管了。把值计算好,写进程序。以后就再不用表笔去测了。
页: [1]
查看完整版本: tiny13的ADC怎么用