Здравствуйте, уважаемые читатели! В данной статье расскажу как работать со фьюзами на микроконтроллере ATtiny10. Изменение стандартных фьюзов, вернее одного из них - RSTDISBL, позволяет отключив Reset на 6 ножке микроконтроллера (это порт PB3) вместо 3х портов ввода вывода, получить 4 полноценных порта ввода вывода, умеющих работать с цифровым и аналоговым сигналом.
По ссылке https://www.engbedded.com/fusecalc/ открываем калькулятор фьюзов, выбираем в выпадающем списке ATTiny10 и видим, что у него всего 3 фьюз-бита.
Фьюз CKOUT - позволяет выбрать тактирование от внешнего источника.
Фьюз WDTON - активирует постоянную работу сторожевого таймера Watch dog. О Watch dog мы поговорим как-нибудь в отдельной статье.
А в данной статье нас интересует фьюз RSTDISBL. Активация которого позволит нам отключить функционал Reset порта PB3 и превратить его в обычный порт ввода-вывода.
Если подключить светодиод к порту PB3 микроконтроллера и загрузить простой скетч мигания светодиода на данном порту, то светодиод мигать не будет, а будет тускло гореть. Точно так же, пока порт PB3 отвечает за функцию Reset микроконтроллера, не будет работать на данном порту чтение аналогового сигнала.
Чтобы изменить фьюзы можно воспользоваться утилитой, ссылка на которую есть во вложении. Она представляет из себя BAT-файл,
упрощающий работу с программой для прошивки AVR микроконтроллеров avrdude.exe. Которую и сама среда Arduino IDE использует при загрузке скетчей в микроконтроллеры AVR.
Запускаем BAT-файл.
Нажимаем 1 - выбирая ATtiny10.
Программатор у нас 2 - USBasp.
И следующим пунктом выбираем 2 - Write Fuses.
Далее нам предлагается ввести значение фьюз-байта. При установленном фьюзе RSTDSBL фьюз-байт у нас имеет значение FE.
Его мы сюда и записываем. Нажимаем Enter.
Нас спрашивают, действительно ли хотим выполнить данную команду? И показывается сформированная команда к программе avrdude.exe.
Подтверждаем команду и нажимаем Enter.
Происходит изменения фьюзов микроконтроллера. Которое успешно завершено.
После изменения фьюза до этого тускло горящий светодиод начинает мигать раз в секунду. Порт PB3, стал полноценным портом ввода вывода.
Но, отключив функцию Reset мы теряем возможность перепрошивки микроконтроллера!
Восстановление фьюзов
Теперь поговорим о том, как восстановить фьюзы и вернуть микроконтроллеру возможность перепрошивки. Для этого, нужно отключить от программатора провод, соединяющий с Reset, т.е. с 6-й ножкой ATtiny10. И вместо этого провода подключить плюсовой провод от источника 12В. Минусовой же провод источника питания, нужно объединить с общим минусом схемы.
Возвращаемся в утилиту по изменению фьюзов. Нажимая единицу, переходим к списку действий. И выбираем пункт 3 – Восстановление фьюзов.
После этого происходит восстановление фьюзов микроконтроллера к значению по умолчанию. И мы можем снова загружать скетчи в микроконтроллер.
Ссылка на утилиту по изменению фьюзов - https://disk.yandex.ru/d/cy_QqSr5YEpjzQ
Вся информация из статьи наглядно показана в размещенном ниже видео:
_________________________________________________________
Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!
Другие публикации по теме:
- Что такое фьюзы? Как работать с фьюзами на микроконтроллерах AVR
- Работа с аналоговым сигналом на ATtiny10. ШИМ. Подключение потенциометра и управление яркостью светодиода
- Работа с цифровым сигналом на ATtiny10. Управление светодиодом. Подключение кнопки
- Самый маленький AVR микроконтроллер – ATtiny10. Как можно применить?
- Программирование ATtiny10 с помощью USBasp программатора
- USBasp программатор. Обзор, установка драйвера, прошивка микроконтроллера
- Обновление прошивки USBasp программатора