Всем привет. Помогите разобратся с градусником. Проблема в том, что вывод температуры на семесигментник чё-то каряво пашет. Температура выводится что 2 градуса т.е 2, 4, 6, ... , 98, 100. Немогу понять где пропадают остальные показания. [youtube] http://www.youtube.com/watch?v=kATHA_UTvMg [/youtube]
В коде можно вставить фиксированые числа или счетчик и убедится что они верно выводятся на индикато - тогда анализировать что с градусника принимаете. Любо если индикатор фаольшивит - его код править.
Пробивал, индикатор отоброжает цифри нормально. Думал ацп неуспевает обработать инфу, повысил частоту-непомогло. Предпологаю что дело может быть в округлении чисел, но мои опыты над этим, к положительному результату так и не привели.
bloodaxe писал(а):Пробывал писать while(!(ADCSRA & (1<<ADSC))); ни чё неменяется..
В даташите написано: при чтении бит ADSC равен 1 если преобразование идет, и 0 если завершилось. То есть нужно "пока 1, ждать". А этот while ждет "пока 0", понятное дело он сразу выпадает.