Atmega8A, время задержки в delay() не соответствует реальности
- Войдите на сайт для отправки комментариев
Сб, 16/07/2016 - 15:31
Доброго времени суток.
Решил попробовать поработать с чистым микроконтроллером, для этого купил Atmega8A.
Рассчитал по калькулятору фьюзов байты конфигурации чтобы работать от внутренних 1MHz, записал в boards.txt и загрузил с помощью Arduino UNO загрузчик в Atmega8 через Arduino as ISP (в среде Arduino IDE). Затем записал на атмегу стандартный пример blink (только номер пина поменял) и увидел что delay(1000) дает задержку мигания не 1 секунду как в Arduino UNO, а 10 секунд. delay(100) соответствует 1-й секунде. Это баг или фича ? Как исправить это несоответствие ?
а частота какая стоит при компиляции, f_cpu=1000000L ?
неправильно рассчитал фьюзы.
Расчеты делал с помощью этого конструктора http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik
это закидывал в boards.txt
hex файл закидывал в C:\Programs\arduino-1.0.5-r2\hardware\arduino\bootloaders\optiboot
т.е. тебе с первого раза не доходит?
повторяю - ты неправильно прошил фьюзы.
Похоже я использовал hex файл для 8 MHz, вероятно из за этого и возникала ошибка. Рассчитал с помощью конструктора http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik заного для 1 MHz, закинул hex файл и записал код в boards.txt, записал загрузчик и теперь все нормально.