Пятница, 20.04.2018, 11:45

Мои инструкции

Меню сайта
Друзья сайта

Вышивка крестом , схемы

И еще много всякого интересного и полезного

Вы найдете на этом сайте.

Как восстановить FUSE и LOCK в микроконтроллере ATmega 8-16.

Не так давно столкнулся с проблемой.Собирал адаптер для джойстика SEGA ( чтобы играть в старые сеговские игрушки на компьютере

родным джойстиком ) на микроконтроллере ATmega8-16 , но при программировании , по не опытности , в место того , чтобы отметить

всего два fuse (BODEN и CKOPT  ) отметил все остальные - и нажал ЗАПИСЬ !!! В итоге микросхема закрылась и программирование стало

не возможным.

Дальше начались поиски в интернете - как восстановить заводские настройки ? Писал авторам статей об микроконтроллерах , но

результат - ноль ( все ссылались на параллельный программатор , а что толком делать ни сказал ни кто ).

Было понятно только одно - без параллельного программатора не обойтись .

Здесь я опишу свои действия ( может потом ещё скриншоты подброшу , чтобы понятнее было )

Нашёл я простенький программатор : http://eldigi.ru/site/programmators/8.php

Всё сделал как написано в статье т.е. собрал программатор , запустил программку AVRXCHK.COM проверил вход - выход . Попробовал

запустить всё это на Windows XP - не получилось ( где - то накосячил с драйвером GIVEIO.SYS ).Попробуйте -  может у Вас получится.

Но предупреждаю ! Windows XP  слетел , пришлось переустанавливать !

  Тогда я установил Windows 98 ( благо на работе есть старенький компьютер ).А вот дальше дело застопорилось . Микроконтроллер

я прочитал и стёр ( команды avrxp /rf и avrxp /e соответственно )

Мучился я долго , а оказалось всё очень просто ( если знаешь как ).

Берём новую микросхему ( в моём случае это ATmega8 ) и считываем с неё fuse ( команда avrxp /rf ) получилось :

L : 11100001

H : 11011001

Далее берём калькулятор , который может переводить из двоичного в шестнадцатеричный формат исчисления ( если такого

калькулятора нет - качаем

Распаковываем и запускаем калькулятор ( установка не требуется )

 

Мышкой нажимаем клавишу = SN =

 

Нажимаем = bin = и набираем 11100001

Нажимаем = hex = . Результат записываем.

Тоже проделываем с цифрой 11011001.

Дальше всё элементарно . Вставляете в программатор убитую микросхему , запускаете программу AVRXP.COM и вводите по очереди команды :

1. avrxp /e        ( стирание )

2. avrxp /flE1    ( запись )

3. avrxp /fhD9   ( запись )

4. avrxp /rf         ( чтение )

В итоге должны получиться наши заводские настройки :

L : 11100001

H : 11011001

Всё - теперь микроконтроллер будет виден на любом программаторе !!!

 

Если что не понятно - спрашивайте !

 

 
 

Яндекс.Метрика
CY-PR.com Рейтинг@Mail.ru