

Код: Выделить всё
while (1)
{
float volt;
volt=read_adc(0);
if (volt>200) {PORTB.0=0;}
else {PORTB.0=1;}
};


Код: Выделить всё
while (1)
{
float volt;
volt=read_adc(0);
if (volt>200) {PORTB.0=0;}
else {PORTB.0=1;}
};
Это зависит наверно от того какой тип вы ей дали.mr_smit писал(а):В каких величинах volt???(Вольты, миливольты) С чем сравнивать?
Я имел ввиду возвращаемое значение.ikarab писал(а):Это зависит наверно от того какой тип вы ей дали.
Т.е. реальное напряжение = volt*(5/1024) ?ikarab писал(а):А read_adc(0); возвращает результат в 1024 долях опрного напряжения АЦП.
Код: Выделить всё
while (1)
{
float volt;
volt=read_adc(0)*(5/1024);
if (volt>2) {PORTB.0=0;}
else {PORTB.0=1;}
};
Там, почему то, они используют:ikarab писал(а):А вы посмотрите пример АЦП в папке CVAVR.
Код: Выделить всё
interrupt [ADC_INT] void adc_isr(void)Код: Выделить всё
unsigned int read_adc(unsigned char adc_input)Код: Выделить всё
volt=read_adc(0); //+5
volt=ADCW;
volt=5120/1024*volt;Код: Выделить всё
volt=5120/1024*volt;