Здравствуйте. У вас на схеме в протеусе потенциометр подключен "+" ножкой к +5в? Если так, то как от встроенного источника опорного напряжения 2.56В это будет работать? При 2.56В на средней ноге потенциометра в АЦП будет значение 1023? Что бы померить напряжение в интервале от 2.56В до 5В нужно использовать в схеме делитель напряжения? Или я ошибаюсь?
У меня работал, но показывал 200, а когда по Вашей рекомендации подал питание только на AVCC то при увеличении сопротивления значение до ходит до 1023, а если подавать только на AREF то показания доходят только до 200, так как и без питания на этот порт.
У меня почему-то очень сильно прыгают выходные значения. Даже если просто до проводов дотрагиваться. Не говоря уже о подключении каких-то резисторов или чего-либо еще
Скажите пожалуйста, с какой целью выполняется преобразование во float? Одна переменная в формате float занимает почти 10% памяти atmega8, а мне нужно 6 каналов ацп. Можно ли обойтись переменной unsigned short или signed int ?
Кончено, про всё про это можно почитать, но здесь подносят всё на блюдечке да и ещё со сметанкой. Шумный АЦП, однако))) Кстати, внутренний опорник от экземпляра к экземпляру плавает. Для тех, кто на батарейках: Включить АЦП: power_adc_enable(); Выключить АЦП: power_adc_disable(); Всю периферию за борт! power_all_disable();
а нафига делать цикл ожидания преобразования, когда есть прерывание ?? запустил преобразование, вызвал ожидание(заодно и шумов будет меньше), по окончании преобразования микруха проснётся от прерывания. в обработчике прерывания прочитать результат... зачем эти костыли в виде циклов ??
Очень много почерпнул для себя про АЦП. Автору спасибо!!!!!!
Здравствуйте. У вас на схеме в протеусе потенциометр подключен "+" ножкой к +5в? Если так, то как от встроенного источника опорного напряжения 2.56В это будет работать? При 2.56В на средней ноге потенциометра в АЦП будет значение 1023? Что бы померить напряжение в интервале от 2.56В до 5В нужно использовать в схеме делитель напряжения? Или я ошибаюсь?
круто - продолжение!!!
Объяснение норм.
Для проверки завершения преобразования, наверно лучше использовать проверку бита ADIF т .е. while (ADCSRA & (1
Спасибо вам за вашу подсказку! Вылез из бесконечного цикла =)
У меня тоже в proteus не работал код до тех пор пока я не подал питание на AREF и A/CC
У меня работал, но показывал 200, а когда по Вашей рекомендации подал питание только на AVCC то при увеличении сопротивления значение до ходит до 1023, а если подавать только на AREF то показания доходят только до 200, так как и без питания на этот порт.
У меня почему-то очень сильно прыгают выходные значения. Даже если просто до проводов дотрагиваться. Не говоря уже о подключении каких-то резисторов или чего-либо еще
А если n умножить на 1000, то можно обойтись без плавающей запятой? У меня таким образом вроде работает с int
Скажите пожалуйста, с какой целью выполняется преобразование во float? Одна переменная в формате float занимает почти 10% памяти atmega8, а мне нужно 6 каналов ацп. Можно ли обойтись переменной unsigned short или signed int ?
Можно создать библиотеку для сегментного 4 х разрядного индикатора ? Код будет тот же или другой для библиотеки семи сегментника ?
Отличные уроки, только хотел бы узнать про 0х30, всё же не понятен смысл.
Кончено, про всё про это можно почитать, но здесь подносят всё на блюдечке да и ещё со сметанкой.
Шумный АЦП, однако))) Кстати, внутренний опорник от экземпляра к экземпляру плавает.
Для тех, кто на батарейках:
Включить АЦП:
power_adc_enable();
Выключить АЦП:
power_adc_disable();
Всю периферию за борт!
power_all_disable();
не уследил, откуда число 0x30?
разница между цифрой и кодом цифры в таблице ascii
а нафига делать цикл ожидания преобразования, когда есть прерывание ??
запустил преобразование,
вызвал ожидание(заодно и шумов будет меньше),
по окончании преобразования микруха проснётся от прерывания.
в обработчике прерывания прочитать результат...
зачем эти костыли в виде циклов ??
как это сделать?
@@crocoblue в смысле как? Расписал же алгоритм...
Не паказон какие ношки мы читали аналог данни...
Не понятно урок ..