Site Loader

Содержание

Прошивка atmega8 через usbasp

Прошивка микроконтроллеров Atmega без arduino через USBasp:

Существуют простые и дешевые программаторы для прошивки м/к Atmega ,которые поддерживает среда Arduino >USBasp необходим,если вы просто прошиваете микроконтроллеры Amtel.Программатор основан на м/к Atmega 8 и использует програмный USB.

Цена такого программатора на ebay.com около 3$.Он имеет выход питания 5v/3.3 v(переключается перемычкой JP1) ,а так же соотвествующие выводы SCK,MISO,MOSI ,RESET для подключению напрямую к микроконтроллеру.На картинке показаны выводы на самом программаторе — на разъеме шлейфа соответственно будет зеркально относительно ключа (у 5 вывода),не забывайте об этом.

Для работы в операционной системе Windows необходимы драйвера.Linux же не требует их.

Данный программатор легко превратить в друое устройство,например в I2C-USB переходник , USB контроллер с GIO или контроллер чтения термодатчиков DS18B20.


Программирование через USBasp в Arduino IDE

Для программирования микроконтроллеров,подключенных через USBasp в Arduino IDE необходимо выбрать его в программе согласно скриншоту.

Программирование осуществляется через меню файл,выбрав пункт

«Загрузить с помощью программатора».Не забываем выбрать микроконтроллер в меню «сервис» ->»плата».

Программирование через USBasp утилитой avrdude

Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.

Для того,чтобы залить прошивку в микроконтроллер необходимо выполнить команду:

avrdude -c usbasp -p m8 -U flash:w:имя_файла.hex . где -p m8 — это модель микроконтроллера.В данном случае atmega 8.

Дополнительно так же можно установить фьюзы дописав :-U hfuse:w:0xХХ:m -U lfuse:w:0xХХ:m .Где ХХ — соотвествующие фьюзы микроконтроллера ,необходимые для конкретной прошивки.

Обычно прошивку можно осуществить через команду make flash ,если Вы имеете исходный код прошивки и установленную WinAVR.

В других средах программирования выбор программатора осуществляется через соответсвующее меню программы.

Обратите внимание,

Что на некоторых микроконтроллерах с завода,например на серии Attiny включен по умолчанию фьюз CKDIV8 ,который устанавливает делитель на 8 и из-за этого USBasp не программирует такие микроконтроллеры пока не установить перемычку

JP3 на USBasp.Для настройки фьюзов воспользуйтесь калькулятором фьюзов чтобы выставить нужные настройки , в том числе выключить данный делитель.Фьюзы прошиваются через avrdude командой avrdude -c usbasp -p имя_м/к -U lfuse:w:0xХХ:m .

Пример для установки фьюзов attiny85 для внутреннего генератора 8мгц с выключенным делителем на 8 :

avrdude -c attiny85 usbasp -p -U lfuse:w:0x62:m

При программировании через Arduino IDE можно установить нужные фьюзы выбрав в меню «записать загрузчик»,выбрав перед этим необходимый микроконтроллер.

«Допиливание» программатора.

или исправляем ошибку: avrdude: warning: cannot set sck period. please check for usbasp firmware update

При программировании некоторых микроконтроллеров(например у серии ATtiny) возможны не фатальные ошибки.Хотя и программирование микроконтроллера происходит,но обновить прошивку микроконтроллера на программаторе рекомендуется.

Что для этого нужно ? Вы можете использовать плату arduino как программатор или использовать другой USBasp программатор .Для программирования используются те же выводы SCK,MISO,MOSI ,RESET .

Порядок действий для прошивки через arduino:

1. Подключаем выводы SCK,MISO,MOSI ,RESET к Arduino согласно инструкции .

2. Установавливаем перемычку self programming (на фото обозначена как JP2),обычно место для перемычки не распаяно.

3. Качаем последнюю версию прошивки usbasp.2011-05-28 тут и кидаем в папку путь_к_папке_ардуины_/hardware/tools/ .

4. Перейдем в консоль (cmd или bash) Вашей операционной системы в папку через команду cd путь_к_папке_ардуины_/hardware/tools/ и далее вводим команды для Windows,не забывем указать верный порт,на котором подключена Arduina:

avrdude -C avrdude.conf -c avrisp -P COM1 -b 19200 -p m8 -v

Программа выдаст сообщение ,где покажет состояние фьюзов и другую информацию:

Если Вы видите такие же сообщения- значит подключено все правельно и можно прошивать командой:

avrdude -C avrdude.conf -c avrisp -P COM1 -b 19200 -p m8 -U flash:w:usbavr.hex -U lfuse:w:0xef:m -U hfuse:w:0xc9:m

Для прошивки из Linux все аналогично, заменяется часть строки:

./avrdude -C avrdude.conf -c avrisp -P /dev/ttyUSB0 .

Порядок действий для прошивки через другую USBasp:

Прошивка аналогична прошивке обычного микроконтроллера: подключаем выводы SCK,MISO,MOSI,RESET один в один шлейфом идущим в комплекте с программатором.Не забываем про перемычку JP2.

Указываем опцию -c usbasp вместо -c avrisp

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.

среда, 10 октября 2018 г.

Прошивка USBasp

1. Подготовка Ардуино

В качестве программатора можно использовать любую имеющуюся плату Ардуино. Для этого подключаем ее к компьютеру и загружаем в нее скетч ArduinoISP из стандартных примеров:

2. Подключение USBasp к Ардуино

Микроконтроллеры семейства AVR, а значит и базирующиеся на них платы (как Ардуино, так и USBasp) поддерживают программирование по ISP-технологии с использованием линий связи SPI. Поэтому сейчас нам нужно:

  • соединить выводы Ардуино MOSI, MISO, SCK GND и VCC (5В или 3.3В) с одноименными выводами USBasp;
  • цифровой вывод 10 Ардуино подключить к выводу RESET USBasp;
  • установить электролитический конденсатор на 10мкФ между RESET и GND Ардуино, чтобы предотвратить автоматическую перезагрузку. Хотя возможно будет работать и без конденсатора, зависит от используемой платы Ардуино.

Для подключения можете использовать как ICSP разъем Ардуино, так и цифровые выводы — не принципиально. Я, например, взял MOSI, MISO, SCK, GND и VCC с ICSP разъема:

На всякий случай приведу таблицу соответствия сигналов MOSI, MISO и SCK цифровым выводам различных плат Ардуино:

Плата АрдуиноMOSIMISOSCK
Uno, Duemilanove11 или ICSP-412 или ICSP-113 или ICSP-3
Nano11 или ICSP-412 или ICSP-113 или ICSP-3
Pro Mini111213
Mega1280, Mega256051 или ICSP-450 или ICSP-152 или ICSP-3
LeonardoICSP-4ICSP-1ICSP-3
Due
ICSP-4
ICSP-1ICSP-3
ZeroICSP-4ICSP-1ICSP-3
10111 или ICSP-412 или ICSP-113 или ICSP-3

3. Установка джампера JP2 на USBasp

На плате USBasp присутствуют 3 джампера, хотя распаян у вас, скорее всего, будет только JP1 — выбор напряжения питания программируемого микроконтроллера. Для прошивки USBasp (и любых других манипуляций с ним при помощи программатора) необходимо установить джампер JP2. Советую не мучиться с замыканием контактов подручными средствами и впаять пару штырьков, так будет надежней:

4. Скачивание прошивки

Заходим на страничку автора USBasp https://www.fischl.de/usbasp/ и скачиваем последнюю версию прошивки в разделе Download — Firmware and circuit. На момент написания данной статьи актуальной является версия от 28.05.2011. Файлы прошивки находятся внутри архива по пути

usbasp.2011-05-28infirmware, их там три штуки, для каждого типа микроконтроллера (программатор USBasp может быть построен на базе ATmega8, ATmega48 или ATmega88). У меня в USBasp установлен микроконтроллер ATmega8, поэтому я буду использовать файл usbasp.atmega8.2011-05-28.hex.

Прошивать USBasp будем при помощи уже знакомого нам avrdude, входящего в состав IDE Arduino. Файл прошивки нужно поместить в каталог avrdude, чтобы потом не пришлось указывать полный путь к нему. Для этого запускаем Проводник Windows и переходим в каталог Arduino_dirhardware oolsavrin

, где Arduino_dir — это путь к IDE Arduino. В моем случае он выглядит так: d:Arduinoarduino-1.6.12hardware oolsavrin, сюда я копирую файл usbasp.atmega8.2011-05-28.hex.

5. Прошивка USBasp

После копирования файла прошивки в каталог avrdude поместите курсор в адресную строку Проводника, удалите из нее путь, введите cmd и нажмите Enter.

Запустится интерпретатор командной строки. В нем нужно ввести команду:

avrdude -C ..etcavrdude.conf -p m8 -c arduino -P com18 -b 19200 -U flash:w:usbasp.atmega8.2011-05-28.hex

Не забудьте проверить и с корректировать ее параметры:

-C ..etcavrdude.conf — путь к конфигурационному файлу (без этого параметра avrdude иногда ругается: can’t open config file «»: Invalid argument)


-p m8 — определяет тип микроконтроллера. Значение m8 сообщает avrdude о том, что мы собираемся работать с ATmega8. Если у вас в USBasp установлен ATmega48 или ATmega88, то замените это значение на m48 или m88 соответственно.

-P com18 — определяет COM порт, присвоенный плате Ардуино. У меня это com18, вам нужно подставить свое значение.

-U flash:w:usbasp.atmega8.2011-05-28.hex — определяет действие, которое мы хотим выполнить. В данном случае мы хотим записать в FLASH память данные из файла usbasp.atmega8.2011-05-28.hex. При необходимости скорректируйте имя файла прошивки в соответствии с типом микроконтроллера в USBasp.

Убедитесь, что команда набрана верно и программатор правильно соединен с Ардуино. После этого подключаем Ардуино к компьютеру и нажимаем Enter в интерпретаторе командной строки. Должен отобразиться прогресс перезаписи содержимого FLASH памяти, а затем сообщение об успешном выполнении команды — avrdude done. Thank you:

Популярное

  • Устройство и программирование микроконтроллеров AVR для начинающих — 143
  • Трехканальный термостат, терморегулятор, таймер на ATmega8 — 70
  • Двухканальный термостат, терморегулятор на ATmega8 — 67

Программатор USBASP — устройство, распиновка, подключение, прошивка

Сегодня мы рассмотрим как, без особых затрат и быстро, запрограммировать любой микроконтроллер AVR поддерживающий режим последовательного программирования (интерфейс ISP) через USB-порт компьютера. В качестве программатора мы будем использовать очень простой и популярный программатор USBASP, а в качестве программы — AVRdude_Prog V3.3, которая предназначена для программирования МК AVR.

Программатор USBASP

Для того, чтобы запрограммировать микроконтроллер необходимо иметь две вещи:
— программатор
— соответствующее программное обеспечение для записи данных в МК
Одним из наиболее простых, популярных и миниатюрных программаторов для AVR является USBASP программатор, созданный немцем Томасом Фишлем.
Имеется много разных схемотехнических решений этого программатора, программатор можно собрать самому или купить (стоимость — 2-3 доллара). При самостоятельной сборке следует учитывать, что собранный программатор необходимо будет прошить сторонним программатором.

Мы рассмотрим наиболее «навороченную» версию программатора:


Характеристики программатора:
— работает с различными операционными системами — Linux, Mac OC, Windows (для операционной системы Windows, для работы программатора, необходимо установить драйвера — архив в конце статьи)
— скорость программирования до (скорость программирования можно устанавливать самому, к примеру в AVRDUDE_PROG) 375 (5) кб/сек
— имеет 10-контактный интерфейс ISP (соответствует стандарту ICSP с 10-контактной распиновкой)
— поддерживает два напряжения питания программатора — 5В и 3,3В (не все USB порты ПК работают при 5 Вольтах)
— питается от порта USB компьютера, имеет встроенную защиту по току (самовосстанавливающийся предохранитель на 500 мА)

Назначение джамперов:
разъем JP1 — предназначен для перепрошивки микроконтроллера программатора (для перепрошивки — необходимо замкнуть контакты)
разъем JP2 — напряжение питания программатора — 5 Вольт или 3,3 Вольта (по умолчанию — 5 Вольт, как на фотографии). Программируемый микроконтроллер, или конструкцию, в которой он установлен, при токе потребления 300-400 мА можно запитать с программатора, для этого на разъеме есть выход +5В (VCC).
разъем JP3 — определяет частоту тактирования данных SCK: разомкнутый — высокая частота (375 кГц), замкнутый — низкая частота (8 кГц)
Подробнее о разъеме JP3
Джампер JP3 предназначен для уменьшения скорости записи данных в микроконтроллер. Если у микроконтроллера установлена частота тактирования более 1,5 мГц — джампер может быть разомкнут, при этом скорость программирования высокая. Если тактовая частота менее 1,5 мГц — необходимо закоротить выводы джампера — снизить скорость программирования, иначе запрограммировать микроконтроллер не получится. К примеру, если мы будем программировать микроконтроллер ATmega8 (в принципе, практически все МК AVR настроены на тактовую частоту 1 мГц по умолчанию), у которого частота тактирования по умолчанию 1 мГц, необходимо будет замкнуть выводы джампера (как на фотографии). Лучше, наверное, держать этот джампер постоянно замкнутым, чтобы, забыв о его существовании, не мучиться вопросом — почему микроконтроллер не прошивается.

Если вы будете пользоваться программой AVRDUDE_PROG, выложенной на сайте, то о перемычке можно забыть

Программатор поддерживается следующим программным обеспечением:
— AVRdude
— AVRdude_Prog
— Bascom-AVR
— Khazama AVR Prog
— eXtreme Burner AVR

Работать с таким программатором очень просто — соединить соответствующие выводы программатора с микроконтроллером, подключить к USB-порту компьютера — программатор готов к работе.
Распиновка 10-контактного кабеля программатора USBASP :


1 — MOSI — выход данных для последовательного программирования
2 — VCC — выход +5 (+3,3) Вольт для питания программируемого микроконтроллера или программируемой платы от порта USB компьютера (максимальный ток 200 мА — чтобы не сжечь порт USB)
3 — NC — не используется
4 — GND — общий провод (минус питания)
5 — RST — подключается к выводу RESET микроконтроллера
6 — GND
7 — SCK — выход тактирования данных
8 — GND
9 — MISO — вход данных для последовательного программирования
10 — GND

Установка драйверов для программатора USBASP

Установка драйвера для программатора USBASB очень проста:
— подсоедините программатор к USB порту компьютера, при этом в диспетчере устройств появится новое устройство «USBasp» с желтым треугольником и восклицательным знаком внутри, что означает — не установлены драйвера
— скачайте и разархивируйте файл «USBasp-win-driver-x86-x64-ia64-v3.0.7»
— запустите файл «InstallDriver» — будут автоматически установлены драйвера для программатора
— проверьте диспетчер устройств — желтый треугольник должен исчезнуть (если нет, щелкните правой кнопкой по устройству «USBasp» и выберите пункт «Обновить»
— программатор готов к работе

FUSE-биты при программировании USBASP AVR:

Архив «usbasp.2011-05-28» содержит папки:
= BIN:
— win-driver — драйвера для программатора
— firmware — прошивка для микроконтроллеров Mega8, Mega88, Mega48
= circuit — схема простого программатора в PDF и Cadsoft Eagle

При перепрошивке китайского программатора рекомендую установить FUSE-бит CKOPT. CKOPT взаимосвязан с предельной тактовой частотой. По умолчанию CKOPT сброшен и стабильная работа микроконтроллера программатора при применение кварцевого резонатора возможна только до частоты 8 МГц ( а МК программатора работает на частоте 12 МГц). Установка FUSE-бита CKOPT увеличивает максимальную частоту до 16 МГц. Китайцы не трогают этот FUSE-бит, что довольно часто приводит к отказу программатора (обычно система не определяет программатор).

Архив «USBasp-win-driver-x86-x64-ia64-v3.0.7» предназначен для установки драйверов, как указано в статье

usbasp.2011-05-28 (518,9 KiB, 14 455 hits)

Скачать «USBasp-win-driver-x86-x64-ia64-v3.0.7» (10,9 MiB, 27 217 hits)

Описанный в статье USBASP программатор, прошитый последней версией программы, проверенный в работе, с установленными джамперами и перемычками, вы можете приобрести в интернет-магазине «МирМК-SHOP»
Перейти на страницу магазина

Программирование микроконтроллеров AVR фирмы Atmel

(31 голосов, оценка: 4,97 из 5)

Arduino — примеры, эксперименты: Как прошить Atmega328 и Atmega8

   Ранее я писал, что большую и дорогую Arduino Uno можно заменить на малюсенький и дешёвый микрочип Atmega328 или даже Atmega8








   
      Я покажу как прямо из среды программирования Arduino прошить микроконтроллеры Atmega328 и Atmega8. Первый у меня имеется в DIP корпусе, а второй в TQFP.

    Для программирования я использую программатор USBasp. Купил его на ebay.com, стоит он в пределах 150р.



  Первая проблема с которой столкнутся пользователи Windows8 и Windows10 — установка драйвера для USBasp.




     Проблема в том, что эти операционные системы просят, что бы у драйвера была какая-то цифровая подпись, а у драйверов для USBasp на сегодняшний день её нет. Проблема решается отключением проверки этих цифровых подписей. Для этого перезагружаем компьютер с нажатой клавишей Shift. Появляется экран, на котором выбираем «Диагностика»

Далее — «Дополнительные параметры»



Далее — «Параметры загрузки»



Далее — «Перезагрузить»



На следующем экране появляется список действий, которые мы можем сделать. Выбираем на нём «Не проверять цифровые подписи драйверов», жмём цифру 7

   Подключим наш программатор к микрочипу. Для удобства я купил макетную плату и соединительные проводки. Соединяем микрочип с программатором согласно схеме

У Atmega8 в TQFP корпусе выводы располагаются следующим образом

К 9 и 10 выводу микроконтроллера присоединяем кварцевый резонатор.



   Здесь стоит пояснить значение этого резонатора.Скорее всего в купленном вами микроконтроллере выставлены настройки (fuses) на работу от внешнего тактового генератора, т.е. от кварца. Поэтому, что бы его прошить, нужно что бы он был подключён к этому самому кварцу. Для перепрошивки кварц можно взять любой попавшийся вам под руку. Я когда впервые перепрошивал просто выпаял его из какого-то сломанного устройства, вот он маленький на фото.

     Его хватило что бы микроконтроллер перепрошился. Если же ваш микроконтроллер изначально настроен на работу от внутреннего тактового генератора, то для прошивки кварц вам не нужен, можно обойтись и без него. 

    Для того, что бы можно было прошивать микрочип прямо из среды разработки Arduino, нужно залить на чип ардуиновский загрузчик. Для этого воспользуемся программой avrdude и онлайн конструктором загрузчиков для ардуино. На странице онлайн конструктора загрузчиков переходим в самый низ и видим конструктор

1. Выбираем «Внутренний генератор» если не хотим использовать кварцевый резонатор, либо выбираем «Внешний генератор» если хотим увеличить скорость работы чипа.

2. Выбираем модель микроконтроллера (в нашем случаем Atmega328)

3. Нажимаем «Создать HEX»

Появляется такое окно:

   Первое что мы делаем — скачиваем наш загрузчик в виде hex файла. Если конструктор по какой-то причине не работает, можно скачать загрузчик для atmega328 для внутреннего генератора здесь. 

      Ниже мы видим блок файла boards.txt для Arduino IDE. Я долго пытался подключить этот блок, что бы в среде ардуино появился выбор платы, но мне это почему-то не удалось, в итоге обошёлся без этого.

     Ещё ниже мы видим подсказку как залить загрузчик через программу avrdude и программатор USBasp. Я делаю следующим образом:

-Подключаю программатор к компьютеру через USB.

-Копирую HEX файл в папку avrdude

-Создаю bat файл в папке avrdude и копирую в bat эту строку

avrdude -c usbasp -p atmega328p -U flash:w:a328p_8MHz_e2_de_5.hex -U lfuse:w:0xe2:m -U hfuse:w:0xde:m -U efuse:w:0x5:m

@echo This batch file

@pause

-Запускаю bat файл. Если лень создавать bat файл, можете скачать его здесь.

Если всё сделано правильно, вы увидите что-то подобное

   Это значит, что всё прошло хорошо и на наш микроконтроллер залился загрузчик ардуино. Теперь мы сможем прошивать его прямо из среды программирования Arduino.

   Если вы где-то накосячили и что-то сделали не правильно, можете увидеть такое сообщение:

    Тут могут быть разные причины:

-Возможно вы не правильно соединили программатор с микрочипом. Проверьте соединения.

-Возможно вы не подключили кварцевый резонатор, а ваш микроконтроллер настроен на работу от него. Тогда подключите любой кварцевый резонатор, хоть из китайских наручных часов выпаяйте.

-И третий вариант о котором я не сказал, но с которым тоже столкнулся, когда прошивал Atmega8. На каком-то форуме мне подсказали, что микрочип работает на пониженной частоте и чтобы прошить его, нужно на программаторе замкнуть перемычку JP3. Что собственно мне и помогло.

   Если проблем у вас не возникло и загрузчик Arduino успешно записался на чип, то переходим к прошивке чипа через среду программирования Arduino. 
   Во-первых, если вы в онлайн конструкторе загрузчика выбирали  «Внутренний генератор», то кварцевый резонатор можно убрать из схемы.

   Откроем среду разработки Arduino и запустим классический пример моргания светодиодом:



     Видим, что в примере указан цифровой выход 13. На микрочипе он соответствует ножке 19

    Т.к. этот вывод у нас сейчас подключен к программатору под вывод SCK, то изменим в программе 13 вывод на 5.

И подключим к нему светодиод.

Выбираем в Инструментах плату, чип и программатор

































Нажимаем Скетч — загрузить через программатор.



    Программа скомпилируется и загрузится на наш микроконтроллер. Светодиод замигает.

    С какой задержкой будет мигать светодиод если в программе указано 1 секунда? Зависит от того использовали ли вы внутренний тактовый генератор или внешний. Если внутренний, а частота его 8MHz, то программа будет работать в 2 раза медленней, т.к. в Arduino UNO стоит кварц на 16MHz. 

    Если вы использовали внешний кварц, то задержка моргания светодиодом будет зависить от частоты вашего кварца. При частоте 16MHz светодиод будет моргать через 1 секунду как и полагается по программе.

    Убедимся, что микроконтроллер прошит и работает самостоятельно. Отключим его от программатора и подключим к нему питание 5 вольт. Увидим, что светодиод моргает, программа, залитая в чип, работает!

MiGeRA’s Home Page | USBasp


А также до безобразия похожий «USB ISP» — совместимый с stk500v2.

Имея две Ардуины можно в одну из них залить скетч ISP и использовать ее в качестве программатора, например, для второй ардуины (о чем я уже писал) — зачем нужен какой-то программатор еще? С одной стороны это верно, но есть некоторые нюансы. Так из мало существенных можно привести, например, то что ардуина взаимодействует с компом через COM-порт — а он хоть и виртуальный, его скорость не выше 115200 бод. Вдобавок к этому скетч ISP вообще предусматривает работу лишь на скорости 19200 бод. Вобщем долго и уныло, но не смертельно, если пользоваться таким программатором разово, а не в процессе отладки. Но есть и другой момент — стабильность. Тут я в результате многих экспериментов так и не понял в чем причина: просто иногда то не детектится программатор, то контроллер подключенный к нему.

Каким альтернативным программатором обзавестись? Купить или собрать? Как вариант для сборки приглянулся AVR910 — свободный контроллер ATmega8 в наличии был, оставалось лишь собрать обвеску. Но так как кустарщины не хотелось, а примера трассировки платы под AVR910 на вышеуказанном сайте автора нет … стал искать дальше.

Как всегда заглянул на ебэй. И был приятно удивлен, что все труды по сборке программатора, включая детали оцениваются в 5 баксов! Грязно ругнувшись приятно удивившись, и не долго-думая заказал. И вот спустя разумное время программатор у меня 😉 На практике это клон (если так можно назвать вариацию опенсорсного проекта) программатора USBasp.

 

http://www.fischl.de/usbasp/ — USBasp — USB programmer for Atmel AVR controllers (Официальная страничка этого радиолюбительского программатора, от германских разработчиков). Там же выложены все материалы необходимые для самостоятельной сборки, приведены различные примеры готовых решений, а также предлагается купить комплект (корпус, плата, все радиодетальки) — по цене порядка 16 евро. Смущает не только цена за «полуфабрикат», но и размер получаемого в результате изделия — и в том числе из-за несуразно-большого корпуса. Вобщем в топку европейцев с их хапужничеством и стремлением гигантизму!

Вернемся к нашему донглу. Распайка коннектора чудная какая-то … В комплекте с китайским USBasp идет 10-ти контактный кабель-шлейф, который (мягко сказать) не годится для непосредственного применения его с ардуиной в качестве целевой платформы. Ввиду этого пришлось сделать свой шлейфик с использованием обжимных разъемов. Необходимую распиновку несложно прикинуть по схеме ниже:

Или использовать подготовленную мной табличку (номера по порядку проводников в шлейфе):

ISP-6pinISP-10pin
19
22
37
41
55
68

Что получилось — на фотке ниже … С одного из концов проводники приходится собирать «вразброс» — я обжал 6-ти контактный  классически (порядок проводов в шлейфе соответствует номерам контактов в разъеме), а в 10-ти контактом собрал их в соответствии с табличкой (выше).

Для работы с программатором USBasp можно использовать управляющую программу avrdude (имхо наиболее удобная и функциональная, а также гибко конфигурируемая) или Khazama AVR — единственным преимуществом которой можно отметить лишь визуализацию и расшифровку значений fuse-битов (битов конфигурации контроллеров — фьюзов) а также наглядное отображение hex-дампа, в остальном она менее универсальна и более глючна … Кстати, для удобства формирования fuse-битов (например, в случае использования avrdude) — можно воспользоваться следующим скриптом:

http://www.engbedded.com/fusecalc/ — Engbedded Atmel AVR® Fuse Calculator

Вот …

Кстати, информацию по самостоятельной сборке такого программатора можно найти здесь.

MiGeRA (март 2012)

Обновление прошивки в донгле USBasp (дополнение).

Несмотря на то что проект USBasp уже давно заброшен разработчиком (последнее обновление комплекта файлов проекта датируется 2011 годом) — имеет смысл обновить прошивку в сём (описываемом) донгле, в нем она еще старее … Забекапить что есть — не удавалось (читались симметричные паттерны, защита видать стоит — зачем? — для опенсорса то?). Но обновить прошивку можно. Посмотрев на схему оригинального проекта и поразглядывав сей черный донгл, потыкался, покликался … Короче делаем так:

1. Замыкаем отверстия под джампер J2 булавкой (предварительно согнув ее пассатижами до V-образной формы и откусив ушко) — можно конечно и джампер впаять :-))

2. Коннектим наш ISP-кабель (самоизготовленный, см. выше) к другому программатору (я использовал Little-Wire) — и данные теперь пойдут в обратную сторону 😉

3. Заливаем новую версию прошивки (в моем случае: usbasp.atmega8.2011-05-28.hex) в контроллер (ATmega8L) софтом, соответствующим программатору (в моем случае avrdude — при помощи команды: avrdude -v -pm8 -cusbtiny -Uflash:w:usbasp.atmega8.2011-05-28.hex). Также проверяем и при необходимости корректируем фьюзы (avrdude -v -pm8 -cusbtiny -Ulfuse:w:0xEF:m и avrdude -v -pm8 -cusbtiny -Uhfuse:w:0xC9:m)

4. Вот и все, кстати залитая прошивка успешно читается обратно 😉 И еще обратил внимание, что при работе теперь не только горит желтый диод D2 (при подключении к USB), но и мигает красный D3 при активности программатора (раньше вроде не мигал).

MiGeRA (июль 2014)

Еще один, «почти» USBasp — или … (дополнение).

Когда-то несколько лет назад (во времена создания выше изложенного материала) был куплен еще и такой вот маленький и изящный программатор:

Вобщем-то брал я его в расчете что это такой-же USBasp, только более компактный, да еще и в таком прикольном алюминиевом корпусе … Ан нет! Однако особой нужды в его работоспособности на фоне сонма других программаторов не было, а посему он был благополучно заброшен. Нашел его случайно и совсем недавно, стал вспоминать что это, почему, как … Вобщем не иначе как отличие в одной букве оказалось существенным :-O При подключении к компу он определяется как HID-устройство и чем работать с ним непонятно, дудка про такой не знает, а тем-более Студия :-/ На этот раз решил его раздербанить и посмотреть что внутри (сразу после приобретения было жалко) — но «дербанить» не пришлось, корпус легко открывается путем сдвига в сторону разъема USB. Внутри плата и конструкция очень похожая на USBasp (для сравнения см. фотку):

Кроме габаритов навскидку разница в контроллерах — в «новом» маленьком установлен mega88 (напомню, в первом — mega8L). Казалось бы все просто — берем из древнего архива материалов по USBasp прошивку на mega88 (она там есть), замыкаем «ресет» и шьем (аналогично описанному выше) … Все замечательно, но результат нулевой, девайсина после прошивки не заводится вообще! Хорошо, проверяем и корректируем фьюзы — загорается синий светодиод и не более. М-да … Китайскую прошивку не восстановить, она была также залочена, да и толку от нее? Вобщем думал опять прятать эту фиговину в долгий ящик, да решил погуглить.

По-хорошему на этом можно заканчивать повествование с благодарностью в адрес человечка написавшего этот замечательный материал и приложившего к нему все необходимое — лаконично и по-существу, пара кликов и все заработало …

 

ЗЫ. Все же несколько прокомментирую что и как получилось в моем видении :-))

1. А никто нам «USBasp в металлическом корпусе» и не обещал, да, схемотехника у них почти идентичная, почти …

2. Версия, платы в моем случае, 4.0 датирована октябрем 2014 года. Примененный контроллер mega88 (шьется на ура любым программатором после закорачивания проволочкой контактных площадок «-UP-» и питанием от программатора) не имеет прямой совместимости с mega8L, как по прошивке, так и по фьюзам.

3. Сей донгл есть возможность превратить как в USBasp (оптимально для работы с avrdude, ардуиной, ну и в случае если нет другого USBasp), так и в AVRDoper — клон stk500v2 (для роботы с Atmel Studio).

4. В режиме AVRDoper видится как COM-порт и требует установки (не подписанного) драйвера AVR-CDC (может не работать на портах USB 3.0). Скорость в Atmel Studio до 1.8MHz, т.е. вполне себе неплохо (режим только ISP-программатора, без отладки). Однако чтобы достигнуть подобной скорости в дудке — требуется патч, без него скорость черепашья. Между тем, удобно что не требуется менять драйвер при работе в Atmel Studio или с avrdude — обращение через номер COM-порта.

MiGeRA (март 2019)

Альтернативные прошивки для AVR910 by PROTTOSS, AVR-Doper, USBasp

1. AVR-Doper

Довольно известный и популярный программатор, попытки портирования на форуме уже были, но к большому сожалению они затерялись в той большой ветке (было дело, искал целенаправленно, но не мог найти!). Но главное, что в тех прошивках так и не был исправлен глюк с таймаутами в avrdude и «работой через раз» в CodeVisionAVR.

Мой порт AVR-Doper для AVR910 сделан аккуратно, он не нарушает целостности исходников (т.е. там аккуратно добавлен AVR910, ничего не попорчено). Веселый баг с потерей USB-пакета также исправлен.

В целом прошивка работает так же, как и оригинальная: при подключении программатора появляется COM-порт, перемычка ‘low sck’ работает для понижения частоты, красный светодиод мигает при записи/стирании чипа, зеленый горит при «подключении к девайсу» (когда пины настраиваются как выходы), на выходе «LED» генерируется 1 МГц.

Существует 4 модификации прошивки:

а) Стандартная CDC (эмуляция COM-порта), без отладочного интерфейса. Рекомендуется в большинстве случаев.
б) CDC с отладочным интерфейсом — дополнительно к COM-порту реализован «свой» протокол для передачи информации через UART программатора (подробнее см. ниже).
в) Бездрайверное HID-устройство, без отл. интерфейса. Т.к. CDC на V-USB нарушает стандарт USB, иногда бывают проблемы с работой программатора (хоть и решаемые). HID стандарт не нарушает и не требует драйверов вообще. К сожалению, поддержка есть пока только в avrdude.
г) Бездрайверное HID-устройство с отл. интерфейсом.

Отладочный интерфейс предназначен для обмена данными между программируемым устройством и ПК. Для его работы нужно подключить RxD и TxD программатора к TxD и RxD устройства. Настроить в устройстве UART на 19200, 8N1. На ПК необходимо установить библиотеку libusb (подробнее см. архив в прошивками) и запустить файл avrdebug.exe (идет в комплекте с прошивками). При этом все, что отправляет устройство в UART, будет приходить в терминал, а все что набрано в терминале будет уходить в устройство.

2. USBasp

Также довольно известный простой программатор, очень похож на AVR910.

Прошивка работает так же, как и оригинальная, за исключением того, что не появляется COM-порт (программатор требует libusb, он идет в комплекте). Странно, что схема USBasp содержит 2 светодиода, но в прошивке использовался только один. Теперь работают оба (так же, как в AVR-Doper), плюс добавлена генерация 1 МГц на выходе «LED».

Этот программатор самый скоростной, однако в avrdude я иногда славливал глюк с неправильно прочитанным ID чипа (вроде как не критично, но кто знает).

Сравнение скоростей программаторов

Тесты проводились с avrdude с помощью заливки в ATMega8 тестовой прошивки размером ~5кБ.

Програматор   Чтение      Запись
AVR910        2.5 кБ/с    0.5 кБ/с
Doper-CDC     0.47 кБ/с   0.44 кБ/с
Doper-HID     0.5 кБ/с    260 Б/с
USBasp        3 кБ/с      1.5 кБ/с

Источник: Альтернативные прошивки для AVR910 by PROTTOSS, AVR-Doper, USBasp


Архив для статьи «Альтернативные прошивки для AVR910 by PROTTOSS, AVR-Doper, USBasp»
Описание: AVR-Doper.2008-11-27.avr910+fix.zip — исходники прошивки AVR-Doper (готовые для употребления в WinAVR). usbasp.2009-02-28.avr910-only.zip — исходники USBasp (аналогично, готовые для…
Размер файла: 868.52 KB Количество загрузок: 3 038 Скачать

Загрузка бутлоадера Arduino в ATMega8 с помощью USBasp

Burning the Bootloader (using USBasp clone) to ATMega8

Кроме заливки бутлоадера с помощью платы-донора Ардуино возможен так же процесс прожига с помощью обычных программаторов типа USBasp (USB ISP — как пишут китайцы на корпусах этих программаторов).

 Купить эти программаторы можно прямо на eBay за 1,14 доляра ( например — http://www.ebay.com/itm/Neu-USB-ISP-USBASP-Programmiergerat-Programmierer-fur-Atmel-AVR-ATMega-51-ATTiny-/271870278925?pt=LH_DefaultDomain_77&hash=item3f4cbb3d0d). В хозяйстве однозначно нужно иметь такой тру-программатор что бы в будущем научиться прошивать контроллеры без Ардуино, так как сама программа Ардуино занимает примерно половину памяти микроконтроллера ну и вносит задержки во всех процессах обработки сигналов (нажатия клавих, скорость работы АЦП), в некоторых случаях — в 10 раз (!).

Существует неприятный момент — может понадобиться перепрошить сам программатор USBasp что бы он мог работать с Arduino IDE , в этом случае нужна будет платка фирменного Ардуино или ещё один программатор который будет программировать наш .

В разобранном виде наш подопытный USBasp (USB ISP) выглядит так :

В моем случае было вот что — USB ISP программатор  не работал под Ардуино даже в старой версии 1.0.3 и пришлось обновить прошивку самого программатора.
Для этого, первым делом, вынул из USB порта компьютера этот брелок, разобрал корпус и замкнул 2 контрольные точки  ( обозначенные красными кружками ) : 


Предварительно подключив линии (сигнальные и линии питания) к Ардуино УНО, скачал прошивку для USBasp на родном сайте изобретателя — http://www.fischl.de/usbasp/ ( http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz TPI support ). И прошиваем программатор с помощью программы, например, eXtreme Burner — AVR .

Если всё сделано правильно то теперь у вас есть программатор полностью совместимый с Ардуино IDE и протоколом AVRasp.


Теперь осталось соединить микроконтроллер, в который нужно залить бутлоадер Ардуино, и воспользоваться опять программой eXtreme Burner — AVR , открыв в ней файл бутлоадера. Сам файл бутлоадера есть в папке Arduino IDE и называется ATmegaBOOT-prod-firmware-2009-11-07.hex ( по умолчанию тут — C:\Program Files (x86)\Arduino\hardware\arduino\avr\bootloaders\atmega8 ).

Опятьт таки, если всё было сделано корректно то на этом процесс прожига бутлоадера Ардуино в ваш микроконтроллер закончен. теперь можно писать программы и паять железо! 🙂

Замена микроконтроллера ‘ATmega’ на примере ‘Anet A6’

Подробный инстракшн съедобный для абсолютных чайников во всех сферах затрагиваемых при перепайке и прошивке микросхем.

Объект: типичный ‘Anet A6’ с выгоревшим разъёмом стола > КЗ выводов термистора > выбитый канал микроконтроллера > температура стола на дисплее перманентно 100-400C` и ошибка его нагрева > полный отказ в работе. Впрочем, вариантов инвалидизировать микроконтроллер кроме подобного — великое множество.

Варианты решения:

1) Замена управляющей платы (AliExpress ~2000₽). Обстоятельств может быть много, каждый решает сам.

2) Замена микроконтроллера (300-700₽). Собственно то, о чём статья. Вариант средний по времени и цене.

3) Перевод термистора стола на другой канал микроконтроллера (0₽). Самый быстрый вариант решения беды если вы это умеете (кроме перепайки вывода редактируется сама прошивка). К тому-же статья не конкретно о случае с КЗ термистора, если микроконтроллер лёг полностью — там и редактировать нечего.

Подготовка:

1) Пайка. Маломощный или регулируемый паяльник, жало с плоским наконечником D=2-4(мм). Идеально — паяльный фен. Неактивный флюс, например дешёвый и сердитый спирто-канифольный СКФ/ФКСп (~100₽). Твёрдая канифоль не канает т.к. засмердит посадочное место, активные аля паяльная кислота не канают вдвойне т.к. зачастую слабо выполняют функцию термопередачи необходимую для быстрой и успешной перепайки SMD микросхем, кроме прочего после них требуется промывка, вымыть флюс из под микросхемы врятли удастся, что приведёт к повторному ремонту вследствии окислительных процессов. Припоя зачастую достаточно того, что уже есть на плате. Облегчить демонтаж в случае орудования паялом помогут зубочистки, скальпели и прочие мелкие колюще-режущие предметы.

2) Работы с микроконтроллером. Микросхема ‘ATmega 1284P’, розничная стоимость в РФ 300-400₽ (AliExpress в разы дороже т.к. в основном партии по 5-10шт., половина из которых могут оказаться нерабочими). Прошивка при помощи компьютера через USB, ищем программатор ‘AVR USBASP’ (200-300₽ розница РФ, 70-100₽ AliExpress), переходник для указанного программатора ‘ISP10 > ISP6’ (50-100₽). Информация касательно софта непосредственно на описании этапа прошивки.

Товар лицом. Микроконтроллер ‘ATmega 1284P’, программатор ‘AVR USBASP’, переходник ‘ISP10 > ISP6’.

Перепайка:

1) Выпаиваем. Обрабатываем микросхему по кругу флюсом для улучшения распределения температуры. Работа феном — вставляем с любого угла между микросхемой и платой тонкий острый предмет, греем, готово. Работа паяльником — вставляем острые предметы подобно клиньям под все углы микросхемы и водим паяльником по выводам микросхемы равномерно прогревая её по кругу, по мере увеличения зазора клинья продавливаем под микросхему, при правильности действий демонтаж займёт не более 5 минут.

2) Впаиваем. Очищаем посадочное место от лишнего мусора и флюса, проверяем кол-во припоя и его равномерное распределение на всех контактах платы, в данном случае лучше мало, чем много. Кидаем новый микроконтроллер, сверяем совпадение ключей (меток) на плате и микросхеме, центруем, наносим флюс, припаиваем. С феном никаких нюансов нет, всё очевидно, работая паяльником аккуратно пропаиваем каждый вывод, алгоритм выпаивания с круговыми движениями жалом по всем контактам неуместен т.к. будут спайки выводов устранение которых — лишняя морока, и припой распределится неравномерно.

3) Удаляем флюс и внимательно осматриваем все выводы на предмет качественной спайки.

[IMG ID=152023 WIDTH=558 HEIGHT=313]Результат работы паяльником 40Вт, жало D=3(мм), флюс спирто-канифольный.

Перепрошивка:

1) Подключаем программатор ‘AVR USBASP’ к ПК, проверяем наличие ‘USBasp’ в диспетчере устройств. Если всё ровно — загружаем и устанавливаем драйвера. Берём архив из статьи или вводим ‘AVR USBASP драйвера’ в любую поисковую систему и выбираем на вкус и цвет. Содержимое архива в отдельную папку, установка через InstallDriver.exe.

2) Подключаем программатор к свежепропаянной управляющей плате принтера через переходник ‘ISP10 > ISP6’ в разъём J3 (ближе к центру платы). Светодиод рядом с микроконтроллером будет светить постоянно либо издаст кратковременное свечение и погаснет, зависит от содержимого микроконтроллера и ни на что не влияет.

3) Софт. Его для работы с микроконтроллерами ATmega бесконечное множество, по моему опыту наиболее простой и адекватно работающей с программатором ‘AVR USBASP’ является программа ‘AVRDUDE_PROG’ от российского разработчика. Архив прикреплён к статье, извлекаем содержимое в удобное место, запускаем через AVRDUDEPROG.exe.

4) Достаём Flash и EEPROM для вашего оборудования. Файлы под ‘Anet A6’ прикреплены к статье в архиве A6_firmware.rar, скачиваем и распаковываем.

5) Переходим к AVRDUDE_PROG, вкладка Program. Указываем программатор ‘usbasp’ и прямые фьюзы (fuses).

6) Выбираем микроконтроллер ‘ATmega1284p’ и чистим его кнопкой ‘Стереть всё’.

7) Прошиваем. Указываем путь к Flash (файл A6.hex), указываем путь к EEPROM (файл A6.eep), соответственно нажимаем кнопку ‘Программирование’ на Flash и EEPROM. Светодиод рядом с микроконтроллером начнёт периодически помаргивать, плата может запуститься и вывести изображение на дисплей, но работа будет крайне нестабильной т.к. незапрограммированны фьюзы (базовые настройки микроконтроллера).

8] Переходим ко вкладке ‘Fuses’. Убеждаемся в том, что выбраны ПРЯМЫЕ фьюзы. Программирование инверсных фьюз приведёт к блокировке микроконтроллера. Выставляем галочки согласно скриншоту, 7 раз проверяем, после чего программируем.

9) Если всё сделано верно, светодиод рядом с микроконтроллером начнёт мерцание с периодичностью ~ 1 раз в 1 сек.

Отключаем плату от программатора и подключаем к принтеру. PROFIT!

Принимаю в ремонт и апгрейд различное оборудование, обращаться в ЛС или на e-mail (см. профиль).

Санкт-Петербург

9 — Gravador USBasp-PHD — Páginas Pessoais

Для проверки, проверки или получения информации, используйте функцию поиска страницы для локализации, чтобы узнать ее местонахождение.

Se Você está certo que o endereço informado está correto mas está encontrando um erro, por Favor contate o Administração do Site.

Обригадо.

Você poderia estar procurando por…

9 — Gravador USBasp-PHD
Прочти меня.текст
readme.txt
Прочти меня
Обсуждение требований к USBasp
Прочти меня
Обсуждение требований к USBasp
CeMatlab_tutorial_huffman.pdf
TEL45_Tutorial_huffman.pdf
Учебник Qsys / NIOS / Sockets
Учебник, разработанный всем для Джимми Юджи Танамати Соарес.Agradecimentos pelo belo trabalho. 21.11.19 — Correção feita pelo aluno Wagner Rodrigues.

Настройка Atmel Studio для программирования USBasp и AVR | Автор: Манаш Кумар Мандал

Это может сбить с толку тех, кто только начал программировать в среде AVR. Atmel studio — лучшая IDP [интегрированная платформа разработки] для программирования AVR и разработки встроенных систем.Просто установка занимает очень много времени. Но как только вы закончите настройку IDP для программирования AVR, вы уже не вернетесь назад!

Если вы не знаете, вы можете установить Atmel Studio только в Windows . Так что, если вы используете Linux, эта запись в блоге вам не поможет.

Прежде всего, давайте взглянем на мою текущую конфигурацию системы

  1. Windows 10
  2. Atmel Studio 7 (версия: 7.0.1188)
  3. WinAVR

Или

  • Плата разработки AVR на основе USBasp

USBasp

Если вы не знаете, как выглядит USBasp, вот изображение для вас.

USBasp

AVR Development Board

Я использую плату для разработки на основе USBasp. Он поддерживает драйвер USBasp, поэтому даже если я настраиваю свой IDP с помощью этой платы разработки. Он должен работать и на вашем USBasp.

Эта плата разработки имеет гнездо ZIF, куда вы можете установить микросхемы AVR и программировать с помощью платы. Никаких дополнительных подключений не требуется. Есть распиновка слотов для GPIO.

AVR Mini Development Board

Убедитесь, что у вас есть Atmel Studio, WinAVR и USBasp , чтобы следовать этому руководству.

Установите Atmel Studio и WinAVR. Вы можете следовать инструкциям, встроенным в мастер установки.

Так как я собираюсь загрузить свои коды в AVR с помощью avrdude. Сначала мне нужно скомпилировать коды, используя тот же набор инструментов.

Для этого мне нужно создать настраиваемую конфигурацию цепочки инструментов.

Шаг 1

Перейдите в Инструменты> Параметры> Цепочка инструментов

В раскрывающемся меню выберите Atmel AVR 8-бит (язык Cpp) .

Шаг 2

Щелкните «Добавить ароматизатор», затем установите имя пакета «WinAVRDev» или любое другое имя, которое вам нравится.

Чтобы указать базовый путь к пакету, перейдите в каталог установки WinAVR и найдите папку bin . Теперь скопируйте путь и вставьте его. [Для меня это было E: \ WinAVR-20100110 \ bin ]

Нажмите Добавить .

Вы можете сделать вновь созданный пакет инструментальной цепочки по умолчанию, нажав на кнопку Установить как по умолчанию.

Если вы закончили настройку пакета инструментальной цепочки, нажмите OK , чтобы закрыть диалоговое окно.

Для загрузки скомпилированных шестнадцатеричных файлов. Вам необходимо настроить внешний инструмент для USBasp. Если вы не создаете внешний инструмент для USBasp, который тоже подходит, вам нужно ввести команды avrdude для загрузки или использовать другое программное обеспечение для загрузки шестнадцатеричного файла за вас.

Зачем беспокоиться, когда Atmel Studio может помочь вам как в компиляции кода, так и в процессе загрузки шестнадцатеричных файлов?

Шаг 1

Перейдите в Инструменты> Внешние инструменты

Нажмите «Добавить» и заполните пустые поля следующими строками.

Проверка: использовать окно вывода

Снимите флажок: запрашивать аргументы , Обрабатывать вывод как Unicode

Название: Вы можете дать любой заголовок.

Команда: Это запустит программу avrdude, поэтому вам нужно указать путь к каталогу avrdude в это поле. Для меня это был E: \ WinAVR-20100110 \ bin \ avrdude.exe

Аргументы: Это самая сложная часть. Это раздел аргументов, в котором вам нужно передать определенные аргументы для выполнения определенных задач.Поскольку я использую внешний инструмент в качестве загрузчика программного кода. Мне нужно ввести команду, которую я буду использовать в avrdude для загрузки кодов.

Здесь вы можете много узнать о командах avrdude.

Вот аргумент, который я предоставил

 avrdude -c usbasp -p atmega8 -U flash: w: $ (ProjectDir) Debug \ $ (TargetName) .hex: i 

Вы можете видеть, что я поставил atmega8 здесь. Это потому, что я программирую свой чип ATmega8.

Если вам нужно запрограммировать другой микроконтроллер.Вы должны изменить название микросхемы .

Создание нового проекта и выбор устройств

Теперь нам нужно проверить, правильно ли работает моя конфигурация. Создайте новый проект [Исполняемый проект GCC C ++].

Выбор цепочки инструментов

Нам нужно проверить, правильно ли выбрана цепочка инструментов.

Вид> Обозреватель решений

Щелкните правой кнопкой мыши проект> щелкните Свойства> Дополнительно> Вкус цепочки инструментов> Выберите цепочку инструментов в раскрывающемся меню

Компиляция проекта

Сборка> Сборка решения

Если вы можете связать последнюю строку вашего вывода с моей, тогда вы успешно скомпилировали свою программу и можете сразу ее загрузить!

 === Сборка: 1 успешная или последняя версия, 0 неудачных, 0 пропущенных == 

Загрузка файла *.HEX File

Под загрузкой шестнадцатеричного файла я подразумеваю программирование микросхемы avr. Помните, что до сих пор вы только скомпилировали проект и еще не загрузили код в свой чип atmega.

Правильно подключите USBasp к микроконтроллеру AVR.

Использование внешних часов

Если вы используете внешний кристалл, вам также понадобятся два керамических конденсатора 22 пФ, подключите компоненты в соответствии со следующей схемой

Если вы используете внешние часы

Теперь подключите микросхему ATmega к USBasp

USBasp с ATmega8 / 168/328

Наконец, загрузка кода

Перед тем, как приступить к этому, не забудьте сначала подключить USBasp к вашему ПК!

Теперь я собираюсь использовать External Tool для загрузки шестнадцатеричного файла в микросхему avr.

Успешная загрузка выглядит следующим образом.

Успешная загрузка

Устранение неполадок

В случае возникновения какой-либо ошибки, прежде всего, проверьте каталог WinAVR.

Для следующей ошибки выполните указанные шаги.

 avrdude.exe: ошибка: включение программы: цель не отвечает. 1avrdude.exe: ошибка инициализации, rc = -1 Дважды проверьте соединения и повторите попытку, или используйте -F для отмены этой проверки. Avrdude.exe выполнено. Спасибо. 

Это означает, что ваш USBasp не может связаться с целевой микросхемой [микросхемой, которую вы собираетесь программировать].

Шаги:

Для решения проблемы вы можете предпринять следующие шаги.

  • Дважды проверьте, правильно ли он запитан от + 5В постоянного тока.
  • Короткие AVCC и VCC вместе и оба GND вместе.
  • Проверьте соединение кристалла и керамических конденсаторов.

Если шаги не помогли, возможно, ваш чип залит кирпичом. Попробуйте весь процесс на новом рабочем чипе.

Поздравляем, если вы запрограммировали свой AVR без каких-либо проблем.Следите за сообщениями в блогах на основе AVR. Спасибо за прочтение!

USBASP — Решение для ОШИБКИ ВКЛЮЧЕНИЯ ЧИПОВ — Обновление прошивки

Программатор

USBASP широко используется для загрузки файла .HEX на микросхемы AVR / 8051.

На ПК с Windows 10 могут возникнуть проблемы с установкой драйверов. Прочтите мой предыдущий блог о том, как устанавливать драйверы.

USBASP – How to install driver on Windows 8 /10

При подключении USBASP к плате разработки 8051 убедитесь, что контакт GND совпадает с GND обеих плат.

Для макетной платы отдельный источник питания не требуется. Он может работать от самого USB.

Подключите USBASP к ПК.

Установите драйвер по ссылке ниже:

Драйвер USBASP:

https://protostack.com.au/download/USBasp-win-driver-x86-x64-v3.0.7.zip

После установки драйвера в Диспетчере устройств появляется USBASP.

Программная среда IDE

PROG ISP используется для загрузки файла HEX на IC 8051.

Ссылка для скачивания ниже

ПРОГ ISP:

http://exploreembedded.com/wiki/images/1/1a/Progisp1.72.rar

Установка не требуется. Разархивируйте загруженный файл и дважды щелкните приложение PROGISP.

Сверху вы можете увидеть два блока, PRG ISP и USBASP

PRG ISP будет недоступен, если программатор не будет обнаружен на неподключенном компьютере.

USB ASP будет недоступен, если драйвер не установлен.

Убедитесь, что эти два блока не окрашены в серый цвет.

Выберите свой IC из раскрывающегося меню. 89C52 или 89S52, выберите правильный номер детали.

Нажмите кнопку «Стереть».

Если устройство usbasp в порядке, стирание будет выполнено.

Здесь я получаю печально известную ошибку CHIP ENABLE.

Эта ошибка сохраняется даже после того, как мощность программирования отрегулирована с помощью ползунка и снята отметка «Проверить подпись».

Ошибка

CHIP ENABLE возникает, если IC неправильно вставлена ​​в гнездо ZIF платы разработки или если выбран неправильный чип.

Если проблема не устранена, вам необходимо обновить ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ USBASP.

Для этого мы используем ARDUINO UNO в режиме ISP.

Подключите UNO к ПК и обратите внимание на назначенный COM-порт.

Откройте Arduino IDE.

Из инструментов выберите плату как Arduino UNO, порт как COM-порт назначен

Программист

выбран как ARDUINO AS ISP.

В разделе «Файл» -> «Примеры» -> выберите ARDUINOISP

.

Загрузите эскиз.Теперь Arduino готов как ISP-программист.

Теперь загрузите прошивку USBASP с сайта разработчиков

usbasp Прошивка

https://www.fischl.de/usbasp/

Загрузите файл .tar.gz и дважды распакуйте его. В разделе bin -> firmare вы можете увидеть файл прошивки Atmega8 в формате .hex.

Запишите путь, по которому сохранен этот файл.

Для загрузки прошивки мы используем приложение AVRDUDES GUI

Загрузите его по ссылке ниже и установите.

AVR, ЧУЧИ:

http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

Подключите Arduino к USBASP следующим образом:

ARDUINO USBASP

5 В -> Vcc

Земля -> Земля

10 -> RST

11 -> MOSI

12 -> MISO

13 -> SCK

Подключите USB ПК к ARDUINO (не к usbasp)

Arduino — главный, а USBASP — подчиненный

Открыть AVRDUDES

Выберите программиста как ARDUINO

COM-порт как порт, выделенный для Arduino

Скорость передачи 19200, если вы попробуете любую другую скорость, отобразится ошибка тайм-аута.

Битовые часы — оставьте поле пустым

Целевой MCU выберите как ATMEGA8

В разделе FLASH нажмите… и выберите файл прошивки, который мы скачали ранее.

Предохранители могут быть установлены как предохранители низкого уровня: 0xFF, предохранители высокого уровня: 0xE9, выберите отметку напротив SET FUSES.

Теперь нажмите DETECT

Я получаю сообщение об ошибке «подпись 00000», что означает, что цель не обнаружена.

Если вы проверите схему USBASP, перемычка JP2 должна быть включена, чтобы разрешить самопрограммирование.

Эта перемычка находится между контактами 1 и 16 (контакт выбора ведомого) USBASP IC.

Поскольку у моего USBASP нет этой перемычки, я припаял резистор 270E между контактами 1 и 16.

Сейчас попробовал DETECT на AVRDUDES.

Цель обнаружена, сигнатура ATMEGA8 — 1E9307.

Теперь при нажатии кнопки PROGRAM прошивка успешно прошивается.

Я просто удалил резистор и успешно попытался загрузить шестнадцатеричный код на 8051.

Давайте посмотрим на второй способ обновления прошивки.

Здесь мы используем другой работающий программатор USBASP вместо ARDUINO.

Подключение один к одному

Vcc в VCC, Gnd в Gnd, MOSI в MOSI, MISO в MISO, RST в RST

На целевой USBASP резистор 270 Е, припаянный между контактами 1 и 16.

ПК подключен к Master USBASP.

Откройте AVRDUDES.

Выберите программатор как USBASP, порт как USB, скорость как 19200

Битовая частота будет автоматически выбрана как 1,5 МГц

Щелкните Программа, чтобы увидеть, как прошивка успешно обновлена.

Этот метод медленнее, чем метод Arduino.

Игнорировать любые ошибки синхронизации SCK, возникающие из-за неудачной установки полных битовых часов.

ПОДДЕРЖКА ВИДЕО:

Нравится:

Нравится Загрузка …

Связанные

Учебное пособие

USBasp: загрузка программы в микроконтроллеры ATmega

Программатор USBasp был разработан Томасом Фишлем.Это проект с открытым исходным кодом, и все схемы и исходные коды доступны на его веб-сайте.

USBasp — это внутрисхемный программатор USB для контроллеров Atmel AVR. Он просто состоит из ATMega88 или ATMega8 и пары пассивных компонентов. Программатор использует USB-драйвер только для прошивки, специальный USB-контроллер не требуется.

Конечно, первое требование в этом посте — это USBasp. Если у вас его еще нет, вы можете получить его здесь.

Поддерживаемые микроконтроллеры:

USBasp поддерживает большое количество микроконтроллеров от ATMEL. Вот полный список.

Mega Series
ATmega8 ATmega8A ATmega48 ATmega48A ATmega48P
ATmega48PA ATmega88 ATmega88A ATmega88P ATmega88PA
ATmega168 ATmega168A ATmega168P ATmega168PA ATmega328
ATmega328P ATmega103 ATmega128 ATmega128P ATmega1280
ATmega1281 ATMEGA16 ATmega16A ATmega161 ATmega162
ATmega163 ATmega164 ATmega164A ATmega164P ATmega164PA
ATmega169 ATmega169A ATmega4259 9059 ATmega4259 9059 ATmega16589 9059 95
ATmega2561 ATMEGA32 ATmega32A ATmega324 ATmega324A
ATmega324P ATmega324PA ATmega329 ATmega329A ATmega329P
ATmega329PA ATmega3290 ATmega3290A ATmega3290P ATmega64
ATmega64A ATmega640 ATmega644 ATmega644A ATmega644P
ATmega644PA ATmega649 ATmega649A ATmega649P ATmega6490
ATmega6490A ATmega6490P ATmega8515 ATmega8535

Tiny Series
ATtiny12 ATtiny13 ATtiny13A ATtiny15 ATtiny25
ATtiny Attiny45 ATtiny85 ATtiny2313 ATtiny2313A

серии Classic
AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515
AT90S8535

CAN серии
AT90CAN128

PWM серии
AT90PWM2 AT90PWM3

Распиновка USBasp:

Наиболее распространенный USBasp имеет 10-контактный разъем, как показано на изображении выше.Распиновка такая, как показано ниже.

Соединения USBasp и MCU:

Если вы используете плату, на которой нет аналогичного порта разъема для программатора, или ваш MCU находится на макетной плате, вам необходимо соединить контакты по отдельности. В таблице ниже показаны контакты USBasp и MCU, которые должны быть соединены вместе.

Номер вывода USBasp Вывод USBasp Вывод микроконтроллера
1 MOSI MOSI Сброс 7 SCK SCK
9 MISO MISO
10 Заземление Заземление
2
2 сделаны, мы готовы двигаться вперед.

Обновление драйвера:

USBasp требует обновления драйверов на платформе Windows. Драйверы доступны для загрузки здесь. Желательно скачать последнюю версию прошивки.

После загрузки извлеките содержимое файла в папку.

Теперь, когда вы подключаете программатор к USB-порту системы Windows, вам может потребоваться обновить драйверы. Это можно сделать в окне диспетчера устройств.

Перейдите в Пуск> Диспетчер устройств

Найдите новое добавленное устройство.Это будет на вкладке «Порты». Щелкните его правой кнопкой мыши, выберите «Обновить драйверы» и найдите папку, в которую вы только что извлекли драйверы.

Загрузка кода в MCU:

Теперь мы готовы загрузить код в MCU. Для этого нам понадобится шестнадцатеричный файл кода. Для этого нам также понадобится программное обеспечение. Существует множество действительно хороших программ, которые могут помочь вам с этой задачей:

  1. Extreme Burner
  2. AVR Dude
  3. Khazama

Все, что вам нужно сделать, это загрузить шестнадцатеричный файл и записать.

USBasp и Arduino:

USBasp можно использовать для загрузки загрузчика Arduino в микроконтроллер. Для этого подключите программатор к MCU, как упоминалось ранее. В среде Arduino IDE выберите

Tools — Burn Bootloader — w / USBasp.

Вивек — старший инженер по встроенным системам в Robert Bosch. Он работает над встраиваемыми системами последние 10 лет. Он любит делиться своими знаниями и обучать тех, кому это интересно. Nerdyelectronics.com был начат из-за этого интереса.

USBasp-накопитель — последняя версия документации PlatformIO

Платформа

Atmel AVR: 8-битные микроконтроллеры Atmel AVR обеспечивают уникальное сочетание производительности, энергоэффективности и гибкости конструкции. Оптимизированные для ускорения вывода на рынок и легкой адаптации к новым, они основаны на самой эффективной в отрасли архитектуре программирования на C и ассемблере

.

Микроконтроллер

ATMEGA8

Частота

12 МГц

Вспышка

8 КБ

RAM

1 КБ

Поставщик

Атмель

Используйте usbasp ID для опции платы в «platformio.ini »(файл конфигурации проекта):

 [env: usbasp]
платформа = atmelavr
доска = usbasp
 

Вы можете переопределить настройки USBasp по умолчанию для каждой среды сборки, используя board _ *** option, где *** — путь к объекту JSON из манифест платы usbasp.json. Например, board_build.mcu , board_build.f_cpu и т. Д.

 [env: usbasp]
платформа = atmelavr
доска = usbasp

; изменить микроконтроллер
board_build.mcu = atmega8

; изменить частоту MCU
board_build.f_cpu = 12000000L
 

Отладка — решение «в один клик» для отладки с нулевой конфигурацией.

Предупреждение

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

Вы можете переключаться между инструментами отладки и зондами отладки, используя параметр debug_tool в «platformio.ini» (файл конфигурации проекта).

Накопитель USBasp

имеет встроенный датчик отладки, а ГОТОВ для отладки.Вам не нужно использовать / покупать внешний датчик отладки.

Совместимые инструменты

На борту

По умолчанию

симавр

Есть

Есть

Имя

Описание

Ардуино

Arduino Wiring-based Framework позволяет писать кроссплатформенное программное обеспечение для управления устройствами, подключенными к широкому спектру плат Arduino, для создания всех видов творческого кодирования, интерактивных объектов, пространств или физического опыта

Описание процесса и программы записи флэш-памяти AVR

Сегодня, после многих дней ожидания (спасибо за терпение), у вас появилась возможность запрограммировать микроконтроллер AVR atmega8.Как было сказано ранее, для этой задачи вам понадобится один программатор USBASP. Просто подключите выход программатора (6 линий VCC, GND, RESET, SCK, MOSI, MISO) к соответствующим контактам обесточенной цели atmega8 (которую вы поместили на макетную плату). И последнее, что нужно — это программа (программа записи) для записи флеш-памяти! Чтобы записать программу, вы можете использовать это простое и удобное программное обеспечение для записи, которое фактически является графическим интерфейсом для AVRDUDE (инструмент командной строки). Программу «AVRLoader» можно загрузить с моего Google Диска по этой ссылке http: // goo.gl / cfIcIV. (Вы также можете попробовать это: http://extremeelectronics.co.in/avr-tutorials/guisoftware-for-usbasp-based-usb-avr-programmers/)

Процесс записи флеш-памяти

  1. Запустить AVRLoader
  2. Выберите микроконтроллер (Atmega8)
  3. Укажите на файл .hex (ваш файл .hex в папке «default» внутри папки проекта)
  4. Нажмите кнопку WriteButton (в опции «Flash»)

Когда закончите, удалите соединение программатора USBASP с макета.Теперь возьмите один светодиод и подключите анод светодиода к контакту 28 Atmega8 на макете и подключите катод светодиода к шине 0 В (GND) через резистор 1 кОм. Наконец, подключите источник питания 5 В на макетной плате и следите за своим первым проектом AVR.

Записанная программа включает и выключает контакт 28 PORTC ATMega 8 или с заданной задержкой (светодиод должен мигать с частотой 1 секунду). Обратите внимание, что до тех пор, пока вы не напишете биты предохранителей для внешнего генератора (мы обсудим это позже), по умолчанию Atmega8 работает на внутреннем RC-генераторе с частотой 1 МГц.Вот почему в нашем первом проекте здесь не используется внешний Xstal.

Описание программы

#define F_CPU 1000000UL // определение тактовой частоты
#include // включаем файл заголовка ввода / вывода
#include // включает файл заголовка задержки
int main (void) {
   // Устанавливаем регистр направления данных на вывод
   DDRC | = (1
 

В этом фрагменте кода мы определили макрос F_CPU в первой строке для указания тактовой частоты микроконтроллера.Этот макрос будет использоваться функцией задержки. Во второй строке мы включили заголовочный файл для использования некоторых готовых функций и ключевых слов. В третьей строке включен другой файл для создания задержки. Эта функция существует в папке 'util' в каталоге включения по умолчанию. После запуска основной функции наша первая строка устанавливает регистр направления данных (DDR) на вывод. DDRC обозначает PORTC (аналогично, PORTB может обозначаться DDRB).

Теперь мы запустили бесконечный цикл для непрерывного мигания с функцией задержки (эту задержку можно изменять) между двумя командами.

Мы просмотрели многое, о чем вы узнаете подробно в следующих частях этого руководства. Теперь вы знаете достаточно, чтобы начать свое путешествие с микроконтроллерами AVR. Теперь, когда мы узнали, как мигать светодиодом с помощью Atmega8, с помощью простого кода. В случае заинтересованности вы можете изменить программу в соответствии с вашими требованиями. Например, измените код на:

  • Изменить частоту мигания светодиода
  • Измените выходной контакт светодиода (с контакта 28) Atmega8
  • Увеличьте количество выводов светодиода с одного (только вывод 28) до большего количества выводов PORTC

Источник часов!

Как указывалось ранее, ATMega8 поставляется с источником тактовой частоты, настроенным по умолчанию на внутренний RC-генератор с частотой 1 МГц.Эта конфигурация подходит для многих простых проектов, где время не имеет решающего значения, а также удобна, поскольку уменьшает количество внешних компонентов. Однако вы можете столкнуться с ситуациями, когда вам нужен более точный источник синхронизации, и для этого необходимо добавить внешний кварцевый генератор. Кварцевый генератор подключен к микроконтроллеру, как показано ниже. Чтобы настроить микроконтроллер на использование внешнего кварцевого генератора, вам необходимо изменить «биты предохранителя». Для новичка предохранители AVR могут показаться очень неприятными, но это не так!

→ Часть 5: Источники синхронизации и биты предохранителей
← Часть 3: Программатор USB ASP и программирование Atmega

Arduino Nano в качестве программиста для обновления прошивки USBASP [решено]

Этот пост предназначен только для самостоятельной работы.Яростно работал целый день за своим Mac с утра субботы примерно до 19:00 из-за единственной строчки с предупреждением.

 avrdude: предупреждение: невозможно установить период sck. пожалуйста, проверьте обновление прошивки usbasp. 

Да, может быть, это не стоит моего времени, но все же …

В любом случае, я использую свой Arduino Nano в качестве программатора ISP, чтобы загрузить новую прошивку на USBASP.

В среде Arduino IDE откройте файл, например, ArduinoISP.

Загрузите скетч arduinoISP в Nano.

Соедините контакты.

Arduino Nano — USBASP

5V — 2

GND — 10

13-7

12-9 (MISO)

11-1 (MOSI)

10-5 (RESET)

Не забудьте подключить перемычку J2 или JP2, чтобы включить самопрограммирование на USBASP.

Не используйте версию прошивки 2011 года, используйте вместо нее версию 2009 года


У меня есть два примера команды, для Windows
 avrdude -C ../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -v 
avrdude -C../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -U flash: r: original_firmware.bin: r
avrdude -C ../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -U flash: w: original_firmware.bin
avrdude -C ../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -U flash: w: c: \ usbasp.atmega8. 2011-05- 28.hex
и
 avrdude -p m8 -b 19200 -c avrisp -P com2 -U flash: r: usbasp.atmega8.hobbyking.hex 
avrdude -p m8 -b 19200 -c avrisp -P com2 -U flash: w: usbasp.atmega8.2009-02-28.hex
Необходимо изменить это, чтобы удовлетворить мою среду Mac

Я уверен, что у моего Mac нет COM-порта, и моя успешная команда avrdude выглядит так:

 avrdude -p attiny13A -P usb -c usbasp -n 

avrdude -p t13 -c usbasp -P usb -U flash: w: template.hex

, так что, возможно, мне придется использовать -P usb
 avrdude -c avrisp -P usb -b 19200 -p m8 -v 
avrdude: Версия 6.0.1, скомпилирована 16 декабря 2013 г. в 17:26:24
Copyright ( c) Брайан Дин 2000-2005, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации: / usr / local / CrossPack-AVR-20131216 / etc / avrdude. conf "
Файл конфигурации пользователя" /Users/nugroho/.avrduderc "
Файл конфигурации пользователя не существует или не является обычным файлом, пропускается

Использование порта: usb
Использование программатора: avrisp
Переопределение скорости передачи данных: 19200
avrdude : ser_open (): невозможно открыть устройство "usb": Нет такого файла или каталога
avrdude done.Спасибо.
Nugrohos-MacBook-Air: прошивка nugroho $
#

no
OK
снова
 Nugrohos-MacBook-Air: прошивка nugroho $ avrdude -p m8 -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 - v 

avrdude: версия 6.0.1, скомпилирована 16 декабря 2013 г. в 17:26:24
Авторские права (c) 2000-2005 гг. Брайан Дин, http://www.bdmicro.com/
Авторские права (c) 2007-2009 гг. Wunsch

Общесистемный файл конфигурации: "/usr/local/CrossPack-AVR-20131216/etc/avrdude.conf"
Файл конфигурации пользователя: "/ Users / nugroho /.avrduderc "
Файл конфигурации пользователя не существует или не является обычным файлом, пропуская

Использование порта: /dev/cu.wchusbserial1420
Использование программатора: avrisp
Переопределение скорости передачи данных: 19200
avrdude: stk500_getsync () попытка 1 из 10: не синхронизировано: resp = 0x15
avrdude: stk500_getsync () попытка 2 из 10: не синхронизировано: resp = 0x15
AVR Part: ATmega8
Chip Erase delay: 10000 us
PAGEL: PD7
BS2: PC2
RESET disposition: special
RETRY pulse: SCK
режим последовательного программирования: да
режим параллельного программирования: да
Timeout: 200
StabDelay: 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
Pol lValue: 0x53
Сведения о памяти:

Опрос страницы блочного опроса
Тип памяти Режим Размер задержки Indx Размер страницы Размер # Страницы MinW MaxW ReadBack
----------- ---- ----- - ---- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 4 20128 0 нет 512 4 0 9000 9000 0xff 0xff
flash 33 10 64 0 да 8192 64128 4500 4500 0xff 0x00
lfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
hfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
блокировка 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
калибровка 0 0 0 0 нет 4 0 0 0 0 0x00 0x00
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00

Программист Тип: STK500
Описание: У mel AVR ISP

avrdude: stk500_getparm (): (a) ошибка протокола, expect = 0x14, resp = 0x14

avrdude: stk500_getparm (): (a) ошибка протокола, expect = 0x14, resp = 0x02

avrdude: stk500 (): (a) ошибка протокола, ожидайте = 0x14, соответственно = 0x10
Версия оборудования: -1597263620
Версия микропрограммы: 3296192.-1597263620
Topcard: STK502
Vtarget: 1,8 В
Varef: 0,0 В
Осциллятор: выключен
Период SCK: 0,1 us

avrdude: stk500_initialize (): (b) ошибка протокола, ожидаемое = 0x10, resp = 0x01
avrdude ошибка инициализации, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.

avrdude: stk500_disable (): ошибка протокола, expect = 0x14, resp = 0x10

avrdude done. Спасибо.

Nugrohos-MacBook-Air: прошивка nugroho $

avrdude -p m8 -b 19200 -c avrisp -P / dev / cu.wchusbserial1420
-U flash: r: usbasp.atmega8.original.hex

Нажмите reset на Arduino Nano перед вводом команды выше
 Nugrohos-MacBook-Air: прошивка nugroho $ avrdude -p m8 -c avrisp -b 19200 -P / dev / cu.wchusbserial1420 -v 

avrdude: Версия 6.0.1, скомпилирована 16 декабря 2013 г. в 17:26:24
Авторские права (c) 2000-2005 Брайан Дин, http://www.bdmicro.com/
Авторские права ( c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации: «/ usr / local / CrossPack-AVR-20131216 / etc / avrdude.conf "
Пользовательский файл конфигурации" /Users/nugroho/.avrduderc "
Пользовательский файл конфигурации не существует или не является обычным файлом, пропускается

Использование порта: /dev/cu.wchusbserial1420
Использование программатора: avrisp
Переопределение бода Скорость: 19200
avrdude: stk500_recv (): программатор не отвечает
avrdude: stk500_getsync () попытка 1 из 10: нет синхронизации: resp = 0x00
AVR Part: ATmega8
Chip Erase delay: 10000 us
PAGEL: PD7
2 : PC2
Расположение RESET: выделенный
RETRY pulse: SCK
режим последовательного программирования: да
режим параллельного программирования: да
Timeout: 200
StabDelay: 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
PollValue: 0x53
Сведения о памяти:

Страница опроса блока
Тип памяти Режим Задержка Размер Indx Размер страницы Размер #Pages MinW MaxW ReadBack
----------- ---- - --- ----- ---- ------ ------ ---- ------ ----- ----- ------ ---
eeprom 4 20128 0 нет 512 4 0 9000 9000 0xff 0xff
flash 33 10 64 0 да 8192 64128 4500 4500 0xff 0x00
lfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
hfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
блокировка 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
калибровка 0 0 0 0 нет 4 0 0 0 0 0x00 0x00
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00

Программа er Тип: STK500
Описание: Atmel AVR ISP
Версия оборудования: 2
Версия прошивки: 1.18
Topcard: Неизвестно
Vtarget: 0,0 В
Varef: 0,0 В
Осциллятор: Выкл.
Период SCK: 0,1 мкс

avrdude: Устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.11s

avrdude: сигнатура устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0.11s

avrdude: подпись устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0.13s

avrdude: Подпись устройства = 0x000000
avrdude: Ура! Неверная подпись устройства.
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.

avrdude сделано. Спасибо.

Nugrohos-MacBook-Air: прошивка nugroho $

Использование опции -F
 Nugrohos-MacBook-Air: прошивка nugroho $ avrdude -p m8 -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 -v -F 

avrdude: версия 6.0.1, скомпилирована 16 декабря 2013 г. в 17:26:24
Авторские права (c) 2000-2005 Брайан Дин, http: // www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации: "/usr/local/CrossPack-AVR-20131216/etc/avrdude.conf"
Файл конфигурации пользователя: "/ Users / nugroho / .avrduderc "
Файл конфигурации пользователя не существует или не является обычным файлом, пропуская

Использование порта: /dev/cu.wchusbserial1420
Использование программатора: avrisp
Переопределение скорости передачи данных: 19200
avrdude: stk500_recv (): программист не ответ
avrdude: stk500_getsync () попытка 1 из 10: не синхронизируется: resp = 0x00
Часть AVR: ATmega8
Задержка стирания микросхемы: 10000 мкс
PAGEL: PD7
BS2: PC2
Расположение RESET: выделенный
RETRY pulse: SCK
последовательный программный режим: да
параллельный программный режим: да
тайм-аут: 200
StabDelay : 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
PollValue: 0x53
Сведения о памяти:

Страница опроса блока
Тип памяти Режим Задержка Размер Indx Paged Size #BackWack Макс. --------- ---- ----- ----- ---- ------ ------ ---- ------ - ---- ----- ---------
eeprom 4 20128 0 нет 512 4 0 9000 9000 0xff 0xff
flash 33 10 64 0 да 8192 64128 4500 4500 0xff 0x00
lfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
hfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
блокировка 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
калибровка 0 0 0 0 нет 4 0 0 0 0 0x00 0x00
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00

Тип программатора: STK500
Описание: Atmel AVR ISP
Версия оборудования: 2
Версия прошивки: 1.18
Topcard: Неизвестно
Vtarget: 0,0 В
Varef: 0,0 В
Осциллятор: Выкл.
Период SCK: 0,1 мкс

avrdude: Устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.11s

avrdude: подпись устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0,13 с

avrdude: сигнатура устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0.13s

avrdude: Подпись устройства = 0x000000
avrdude: Ура! Неверная подпись устройства.
avrdude: Ожидаемая сигнатура для ATmega8 - 1E 93 07
avrdude: safemode: lfuse читается как 0
avrdude: safemode: hfuse читается как 0

avrdude: safemode: lfuse читает как 0
avrdude: safemode:
avrdude: safemode: 9fuse : safemode: Предохранители исправны (H: FF, E: 00, L: 00)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: прошивка nugroho $

Теперь резервное копирование
 Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P / dev / cu.wchusbserial1420 -U flash: r: original_firmware.hex: r -F 
avrdude: stk500_recv (): программист не отвечает
avrdude: stk500_getsync () попытка 1 из 10: не синхронизируется: resp = 0x00

avrdude: устройство AVR инициализировано и готов принять инструкцию

Чтение | #################################################################################################### | 100% 0.11s

avrdude: подпись устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0.11s

avrdude: подпись устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0.13s

avrdude: Подпись устройства = 0x000000
avrdude: Ура! Неверная подпись устройства.
avrdude: Ожидаемая сигнатура ATmega8 - 1E 93 07
avrdude: чтение флэш-памяти:

Чтение | #################################################################################################### | 100% 15.04s

avrdude: запись выходного файла "original_firmware.hex"

avrdude: safemode: предохранители исправны (H: FF, E: 00, L: 00)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $ ls
blinkLED_A Прошивка coba2.hex original_firmware.hex usbasp.atmega8.2009-02-28.hex
coba1 coba3 lcdNO tn13Adef.inc
Nugrohos-MacBook-Air: attiny13a nugroho $

И загрузить новую прошивку
 Nugrohos-MacBook-Airugro: attiny -p m8 -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 -U flash: w: firmware.hex -F 
avrdude: stk500_recv (): программист не отвечает
avrdude: stk500_getsync () попытка 1 из 10: не синхронизировано: resp = 0x00

avrdude: Устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.11s

avrdude: подпись устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0.11s

avrdude: подпись устройства = 0x000000 (повторная попытка)

Чтение | #################################################################################################### | 100% 0,13 с

avrdude: Подпись устройства = 0x000000
avrdude: Ура! Неверная подпись устройства.
avrdude: Ожидаемая сигнатура для ATmega8 - 1E 93 07
avrdude: ПРИМЕЧАНИЕ: указана "флэш-память", будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: чип стирания
avrdude: чтение входного файла "firmware.hex"
avrdude: входной файл firmware.hex автоматически определяется как Intel Hex
avrdude: запись flash (3966 байт):

Запись | #################################################################################################### | 100% 9.16s

avrdude: записано 3966 байт во флеш-память
avrdude: проверка флеш-памяти на соответствие микропрограммному обеспечению.hex:
avrdude: загрузить данные флеш-памяти из входного файла firmware.hex:
avrdude: входной файл firmware.hex автоматически определяется как Intel Hex
avrdude: входной файл прошивки.шестнадцатеричный содержит 3966 байт
avrdude: чтение данных флэш-памяти на кристалле:

Чтение | #################################################################################################### | 100% 7.29s

avrdude: проверка ...
avrdude: ошибка проверки, первое несоответствие в байте 0x0000
0x00! = 0x3b
avrdude: ошибка проверки; несоответствие содержимого

avrdude: safemode: Fuses OK (H: FF, E: 00, L: 00)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $

попробовать
 Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -v 

avrdude: Версия 6.0.1, скомпилировано 16 декабря 2013 г. в 17:26:24
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации "/usr/local/CrossPack-AVR-20131216/etc/avrdude.conf"
Файл конфигурации пользователя: "/Users/nugroho/.avrduderc"
Файл конфигурации пользователя не существует или не является обычным файлом, пропуская

Использование порта: usb
Использование программатора: usbasp
AVR Часть: ATtiny13
Задержка стирания микросхемы: 4000 мкс
PAGEL: P00
BS2: P00
Расположение RESET: выделенный
RETRY pulse: SCK
режим последовательного программирования: да
режим параллельного программирования: да
Тайм-аут: 200
StabDelay: 100
CmdexeDelay: 25
SyncLoops: 3 2
ByteDelay: 0
PollIndex: 3
PollValue: 0x53
Сведения о памяти:

Страница опроса блока
Тип памяти Режим Задержка Размер Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 нет 64 4 0 4000 4000 0xff 0xff
flash 65 6 32 0 да 1024 32 32 4500 4500 0xff 0xff
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00
блокировка 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00
калибровка 0 0 0 0 нет 2 0 0 0 0 0x00 0x00
lfuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00

Тип программатора: usbasp
Описание: USBasp, http: // www.fischl.de/usbasp/

avrdude: автоматическая установка периода sck (поскольку данный равен нулю)
avrdude: предупреждение: невозможно установить период sck. пожалуйста, проверьте обновление прошивки usbasp.
avrdude: устройство AVR инициализировано и готово к приему инструкций

Чтение | #################################################################################################### | 100% 0,00 с

avrdude: подпись устройства = 0x1e9007
avrdude: safemode: lfuse читается как 6A
avrdude: safemode: hfuse читается как FF

avrdude: safemode: lfuse читается как 6A
avrdufuse: safemode avrdude: safemode: Предохранители исправны (H: FF, E: FF, L: 6A)

avrdude done.Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -U flash: w: coba3.s.hex

avrdude: warning: невозможно установить период sck . пожалуйста, проверьте обновление прошивки usbasp.
avrdude: устройство AVR инициализировано и готово к приему инструкций

Чтение | #################################################################################################### | 100% 0,00 с

avrdude: Подпись устройства = 0x1e9007
avrdude: ПРИМЕЧАНИЕ: указана «флэш-память», будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: стирание чипа
avrdude: предупреждение: невозможно установить период sck. пожалуйста, проверьте обновление прошивки usbasp.
avrdude: чтение входного файла "coba3.s.hex"
avrdude: входной файл coba3.s.hex автоматически определяется как Intel Hex
avrdude: запись флэш-памяти (34 байта):

Запись | #################################################################################################### | 100% 0,05 с

avrdude: записано 34 байта флэш-памяти
avrdude: проверка флэш-памяти на соответствие coba3.s.hex:
avrdude: загрузить данные флэш-данных из входного файла coba3.s.hex:
avrdude: входной файл coba3.s.hex автоматически определяется как Intel Hex
avrdude: входной файл coba3.s.hex содержит 34 байта
avrdude: чтение данных встроенной флэш-памяти:

Чтение | #################################################################################################### | 100% 0,03 с

avrdude: проверка ...
avrdude: 34 байта флэш-памяти подтверждено

avrdude: safemode: предохранители исправны (H: FF, E: FF, L: 6A)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

попробовать версию 2011 года

Nugrohos-MacBook-Air: attiny13a nugroho $ ls
blinkLED_A прошивка.hex usbasp.atmega8.2009-02-28.hex
coba1 lcdNO usbasp.atmega8.2011-05-28.hex
coba2 original_firmware.hex
coba3 tn13Adef.inc
Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 -v -F

avrdude: Версия 6.0.1, скомпилирована 16 декабря 2013 г. в 17:26:24
Авторские права (c) 2000-2005 Брайан Дин, http : //www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации: / usr / local / CrossPack-AVR-20131216 / etc / avrdude.conf "
Пользовательский файл конфигурации" /Users/nugroho/.avrduderc "
Пользовательский файл конфигурации не существует или не является обычным файлом, пропускается

Использование порта: /dev/cu.wchusbserial1420
Использование программатора: avrisp
Переопределение бода Скорость: 19200
avrdude: stk500_recv (): программатор не отвечает
avrdude: stk500_getsync () попытка 1 из 10: нет синхронизации: resp = 0x00
AVR Part: ATmega8
Chip Erase delay: 10000 us
PAGEL: PD7
2 : PC2
Расположение RESET: выделенный
RETRY pulse: SCK
режим последовательного программирования: да
режим параллельного программирования: да
Timeout: 200
StabDelay: 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
PollValue: 0x53
Сведения о памяти:

Страница опроса блока
Тип памяти Режим Задержка Размер Indx Размер страницы Размер #Pages MinW MaxW ReadBack
----------- ---- - --- ----- ---- ------ ------ ---- ------ ----- ----- ------ ---
eeprom 4 20128 0 нет 512 4 0 9000 9000 0xff 0xff
flash 33 10 64 0 да 8192 64128 4500 4500 0xff 0x00
lfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
hfuse 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
блокировка 0 0 0 0 нет 1 0 0 2000 2000 0x00 0x00
калибровка 0 0 0 0 нет 4 0 0 0 0 0x00 0x00
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00

Программа er Тип: STK500
Описание: Atmel AVR ISP
Версия оборудования: 2
Версия прошивки: 1.18
Topcard: Неизвестно
Vtarget: 0,0 В
Varef: 0,0 В
Осциллятор: Выкл.
Период SCK: 0,1 мкс

avrdude: Устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.11s

avrdude: сигнатура устройства = 0x1e9307
avrdude: safemode: lfuse читается как 9F
avrdude: safemode: hfuse читается как D9

avrdude: safemode: lfuse читается как 9F
avrdude avrdude: safemode: Предохранители исправны (H: FF, E: D9, L: 9F)

avrdude done.Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 -U flash: w: -F
.DS_Store coba3 / tn13Adef.inc
blinkLED_A / firmware. hex usbasp.atmega8.2009-02-28.hex
coba1 / lcdNO / usbasp.atmega8.2011-05-28.hex
coba2 / original_firmware.hex
Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P / dev / cu.wchusbserial1420 -U flash: w: usbasp.atmega8.2011-05-28.hex -F
avrdude: stk500_recv (): программист не отвечает
avrdude: stk500_getsync () попытка 1 из 10: не синхронизируется: resp = 0x00

avrdude: устройство AVR инициализировано и готово к приему инструкций

Чтение | #################################################################################################### | 100% 0.11s

avrdude: Подпись устройства = 0x1e9307
avrdude: ПРИМЕЧАНИЕ: указана «флэш-память», будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: стирание чипа
avrdude: чтение входного файла "usbasp.atmega8.2011-05-28.hex"
avrdude: входной файл usbasp.atmega8.2011-05-28.hex автоматически определяется как Intel Hex
avrdude: запись флэш-памяти (4700 байт):

Запись | #################################################################################################### | 100% 10.94s

avrdude: 4700 байт записанной флеш-памяти
avrdude: проверка флеш-памяти на соответствие usbasp.atmega8.2011-05-28.hex:
avrdude: загрузка данных флеш-данных из входного файла usbasp.atmega8.2011-05-28.hex:
avrdude: входной файл usbasp.atmega8.2011-05-28.hex автоматически определяется как Intel Hex
avrdude: входной файл usbasp.atmega8.2011-05-28.hex содержит 4700 байт
avrdude : чтение данных встроенной флеш-памяти:

Чтение | #################################################################################################### | 100% 8.70s

avrdude: проверка ...
avrdude: 4700 байт флэш-памяти проверено

avrdude: safemode: предохранители исправны (H: FF, E: D9, L: 9F)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $

Это многообещающе
 Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -n 

avrdude: error: programm enable: target не отвечает.1
avrdude: ошибка инициализации, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.

avrdude сделано. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -P usb

avrdude: error: programm enable: target не отвечает. 1
avrdude: ошибка инициализации, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.

avrdude сделано. Спасибо.

, а не
перейти к исходной версии 2009 года
 Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P / dev / cu.wchusbserial1420 -U flash: w: usbasp.atmega8.20 -F 
usbasp.atmega8.2009-02-28.hex usbasp.atmega8.2011-05-28.hex
Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 -U flash: w: usbasp.atmega8.2009-02-28.hex -F
avrdude: stk500_recv (): программист не отвечает
avrdude: stk500_getsync ( ) попытка 1 из 10: не синхронизировано: resp = 0x00

avrdude: Устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.11s

avrdude: Подпись устройства = 0x1e9307
avrdude: ПРИМЕЧАНИЕ: указана «флэш-память», будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: стирание чипа
avrdude: чтение входного файла "usbasp.atmega8.2009-02-28.hex"
avrdude: входной файл usbasp.atmega8.2009-02-28.hex автоматически определяется как Intel Hex
avrdude: запись флэш-памяти (3826 байт):

Запись | #################################################################################################### | 100% 8.86s

avrdude: записано 3826 байт флеш-памяти
avrdude: проверка флеш-памяти на соответствие usbasp.atmega8.2009-02-28.hex:
avrdude: загрузить данные флэш-данных из входного файла usbasp.atmega8.2009-02-28.hex:
avrdude: входной файл usbasp.atmega8.2009-02-28.hex обнаружено автоматически as Intel Hex
avrdude: входной файл usbasp.atmega8.2009-02-28.hex содержит 3826 байт
avrdude: чтение данных встроенной флэш-памяти:

Чтение | #################################################################################################### | 100% 7.05s

avrdude: проверка ...
avrdude: 3826 байт флэш-памяти подтверждено

avrdude: safemode: предохранители исправны (H: FF, E: D9, L: 9F)

avrdude done.Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $
Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp

avrdude: error: programm enable: target не отвечает. 1
avrdude: ошибка инициализации, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.

avrdude сделано. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

вернуться к исправленной версии 2009 года
 Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P / dev / cu.wchusbserial1420 -U flash: w: firmware.hex -F 
avrdude: stk500_recv (): программист не отвечает
avrdude: stk500_getsync () попытка 1 из 10: не синхронизируется: resp = 0x00

avrdude: устройство AVR инициализировано и готово к работе принимаю инструкции

Чтение | #################################################################################################### | 100% 0.11s

avrdude: Подпись устройства = 0x1e9307
avrdude: ПРИМЕЧАНИЕ: указана «флэш-память», будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: чип стирания
avrdude: чтение входного файла "firmware.hex"
avrdude: входной файл firmware.hex автоматически определяется как Intel Hex
avrdude: запись flash (3966 байт):

Запись | #################################################################################################### | 100% 9.16s

avrdude: записано 3966 байт во флеш-память
avrdude: проверка флеш-памяти на соответствие микропрограммному обеспечению.hex:
avrdude: загрузить данные флеш-памяти из входного файла firmware.hex:
avrdude: входной файл firmware.hex автоматически определяется как Intel Hex
avrdude: входной файл прошивки.шестнадцатеричный содержит 3966 байт
avrdude: чтение данных флэш-памяти на кристалле:

Чтение | #################################################################################################### | 100% 7.29s

avrdude: проверка ...
avrdude: 3966 байт флэш-памяти подтверждено

avrdude: safemode: предохранители исправны (H: FF, E: D9, L: 9F)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $

Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp

avrdude: error: programm enable: target не отвечает.С

.

хм, может быть ATTiny сломан

здесь -v -vv и -vvv

 Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -v 

avrdude: Версия 6.0.1, скомпилирована 16 декабря. 2013 at 17:26:24
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации "/ usr / local /CrossPack-AVR-20131216/etc/avrdude.conf "
Файл конфигурации пользователя:" /Users/nugroho/.avrduderc "
Файл конфигурации пользователя не существует или не является обычным файлом, пропуская

Использование порта: usb
Использование Программатор: usbasp
AVR Часть: ATtiny13
Задержка стирания микросхемы: 4000 мкс
PAGEL: P00
BS2: P00
Расположение RESET: выделенный
RETRY pulse: SCK
режим последовательного программирования: да
режим параллельного программирования : да
Тайм-аут: 200
StabDelay: 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
PollValue: 0x53
Сведения о памяти:

Размер блока опроса Размер страницы Опрашиваемый Тип памяти
#Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ --- - ------ ----- ----- ---------
eeprom 65 5 4 0 нет 64 4 0 4000 4000 0xff 0xff
flash 65 6 32 0 да 1024 32 32 4500 4500 0xff 0xff
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00
блокировка 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00
калибровка 0 0 0 0 нет 2 0 0 0 0 0x00 0x00
lfuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00

Тип программатора: usbasp
Описание: USBasp, http: // www.fischl.de/usbasp/

avrdude: автоматическая установка периода sck (поскольку заданный равен нулю)
avrdude: error: programm enable: target не отвечает. 1
avrdude: ошибка инициализации, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.

avrdude сделано. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -vv

avrdude: Версия 6.0.1, скомпилирована 16 декабря 2013 г. в 17:26:24
Copyright (c) 2000-2005 Брайан Дин , http: // www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации: "/usr/local/CrossPack-AVR-20131216/etc/avrdude.conf"
Пользовательский файл конфигурации: "/ Users / nugroho / .avrduderc "
Файл конфигурации пользователя не существует или не является обычным файлом, пропуская

Использование порта: usb
Использование программатора: usbasp
avrdude: устройство от производителя -> www.fischl.de <- data-blogger-escaped - = "" data-blogger-escaped-avrdude: = "" data-blogger-escaped-product = "" data-blogger-escaped-seen = ""> USBasp <- data-blogger-escaped ----- ------- = "" data-blogger-escaped ---------- = "" data-blogger-escaped ------- = "" data-blogger-escaped-- ---- = "" data-blogger-escaped ----- = "" data-blogger-escaped - = "" data-blogger-escaped - c = "" data-blogger-escaped - f = "" data-blogger-escaped - p = "" data-blogger-escaped - vvv = "" data-blogger-escaped-0 = "" data-blogger-escaped-0x00 = "" data-blogger-escaped- 0x53 = "" data-blogger-escaped-0xff = "" data-blogger-e scaped-100 = "" data-blogger-escaped-1024 = "" data-blogger-escaped-16 = "" data-blogger-escaped-17: 26: 24 = "" data-blogger-escaped-1 = "" data-blogger-escaped-2000-2005 = "" data-blogger-escaped-2007-2009 = "" data-blogger-escaped-200 = "" data-blogger-escaped-2013 = "" data-blogger-escaped- 25 = "" data-blogger-escaped-2 = "" data-blogger-escaped-32 = "" data-blogger-escaped-3 = "" data-blogger-escaped-4000 = "" data-blogger-escaped- 4500 = "" data-blogger-escaped-4 = "" data-blogger-escaped-5 = "" data-blogger-escaped-6.0.1 = "" data-blogger-escaped-64 = "" data-blogger-escaped-65 = "" data-blogger-escaped-6 = "" data-blogger-escaped -: = "" data-blogger-escaped- a = "" data-blogger-escaped-again = "" data-blogger-escaped-age = "" data-blogger-escaped-and = "" data-blogger-escaped-answer. = "" data-blogger-escaped -at = "" data-blogger-escaped-attiny13 = "" data-blogger-escaped-auto = "" data-blogger-escaped-avr = "" data-blogger-escaped-avrdude.conf = "" data-blogger -escaped-avrdude: = "" data-blogger-escaped-avrdude = "" data-blogger-escaped-avrduderc = "" data-blogger-escaped-because = "" data-blogger-escaped-block = "" data- blogger-escaped-brian = "" data-blogger-escaped-bs2 = "" data-blogger-escaped-bytedelay = "" data-blogger-escaped-c = "" data-blogger-escaped -ibration = "" data- блоггер-сбежавший-чек.= "" data-blogger-escaped-check = "" data-blogger-escaped-chip = "" data-blogger-escaped-cmdexedelay = "" data-blogger-escaped-compiled = "" data-blogger-escaped-configuration = "" data-blogger-escaped-connections = "" data-blogger-escaped-copyright = "" data-blogger-escaped-dean = "" data-blogger-escaped-dec = "" data-blogger-escaped-special = "" data-blogger-escaped-delay = "" data-blogger-escaped-description = "" data-blogger-escaped-detail = "" data-blogger-escaped-device = "" data-blogger-escaped-disposition = "" data-blogger-escaped-does = "" data-blogger-escaped-doesn = "" данные-blogger-escaped-done.= "" data-blogger-escaped-double = "" data-blogger-escaped-eeprom = "" data-blogger-escaped-enable: = "" data-blogger-escaped-equals = "" data-blogger-escaped- erase = "" data-blogger-escaped-error: = "" data-blogger-escaped-etc = "" data-blogger-escaped-exist = "" data-blogger-escaped-failed = "" data-blogger-escaped -file = "" data-blogger-escaped-flash = "" data-blogger-escaped-from = "" data-blogger-escaped-given = "" data-blogger-escaped-hfuse = "" data-blogger-escaped -http: = "" data-blogger-escaped-indx = "" data-blogger-escaped-initialization = "" data-blogger-escaped-is = "" data-blogger-escaped-joerg = "" data-blogger- escaped-lfuse = "" data-blogger-escaped-local = "" data-blogger-escaped-lock = "" data-blogger-escaped-maxw = "" data-blogger-escaped-memory = "" data-blogger- escaped-minw = "" data-blogger-escaped-mode = "" data-blogger-escaped-no = "" data-blogger-escaped-not = "" data-blogger-escaped-nugroho = "" data-blogger- escaped-nugrohos-macbook-air: coba3 = "" data-blogger-escaped-null = "" data-blogger-escaped-on = "" data-blogger-esca ped-or = "" data-blogger-escaped-override = "" data-blogger-escaped-p00 = "" data-blogger-escaped-page = "" data-blogger-escaped-paged = "" data-blogger- escaped-pagel = "" data-blogger-escaped-parallel = "" data-blogger-escaped-part = "" data-blogger-escaped-period = "" data-blogger-escaped-poll = "" data-blogger- escaped-polled = "" data-blogger-escaped-pollindex = "" data-blogger-escaped-pollvalue = "" data-blogger-escaped-port = "" data-blogger-escaped-program = "" data-blogger- escaped-programm = "" data-blogger-escaped-programmer = "" data-blogger-escaped-pulse = "" data-blogger-escaped-rc = "- 1" data-blogger-escaped-readback = "" data- blogger-escaped-regular = "" data-blogger-escaped-reset = "" data-blogger-escaped-retry = "" data-blogger-escaped-rosspack-avr-20131216 = "" data-blogger-escaped-sck = "" data-blogger-escaped-seen = "" data-blogger-escaped-serial = "" data-blogger-escaped-sers = "" data-blogger-escaped-set = "" data-blogger-escaped-signature = "" data-blogger-escaped-size = "" data-blogger-escaped-skipping = "" data-blogger-escape d-stabdelay = "" data-blogger-escaped-syncloops = "" data-blogger-escaped-system = "" data-blogger-escaped-t13 = "" data-blogger-escaped-t = "" data-blogger- escaped-target = "" data-blogger-escaped-thank = "" data-blogger-escaped-this = "" data-blogger-escaped-timeout = "" data-blogger-escaped-to = "" data-blogger- escaped-try = "" data-blogger-escaped-type = "" data-blogger-escaped-us = "" data-blogger-escaped-usb = "" data-blogger-escaped-usbasp = "" data-blogger- escaped-usbasp_open = "" data-blogger-escaped-use = "" data-blogger-escaped-user = "" data-blogger-escaped-using = "" data-blogger-escaped-usr = "" data-blogger- escaped-vendor = "" data-blogger-escaped-version = "" data-blogger-escaped-wide = "" data-blogger-escaped-wunsch = "" data-blogger-escaped-www.bdmicro.com = "" data-blogger-escaped-www.fischl.de = "" data-blogger-escaped-yes = "" data-blogger-escaped-you. = ""> www.fischl.de <- data -blogger-escaped - = "" data-blogger-escaped-avrdude: = "" data-blogger-escaped-product = "" data-blogger-escaped-seen = ""> USBasp <- data-blogger-escaped- ----------- = "" data-blogger-escaped ---------- = "" data-blogger-escaped ------- = "" data-blogger -escaped ------ = "" data-blogger-escaped ----- = "" data-blogger-escaped-0.00savrdude: = "" data-blogger-escaped-0 = "" data-blogger- escaped-0x00 = "" data-blogger-escaped-0x53 = "" data-blogger-escaped-0xff = "" data-blogger-escaped-100 = "" data-blogger-escaped-1024 = "" data-blogger- escaped-1 = "" data-blogger-escaped-200 = "" data-blogger-escaped-25 = "" data-blogger-escaped-2 = "" data-blogger-escaped-32 = "" data-blogger- escaped-3 = "" data-blogger-escaped-4000 = "" data-blogger-escaped-4500 = "" data-blogger-escaped-4 = "" data-blogger-escaped-5 = "" data-blogger- escaped-64 = "" data-blogger-escaped-65 = "" data-blogger-escaped-6 = "" data-blogger-escaped -: = "" d ata-blogger-escaped-accept = "" data-blogger-escaped-age = "" data-blogger-escaped-and = "" data-blogger-escaped-attiny13 = "" data-blogger-escaped-auto = "" data-blogger-escaped-avr = "" data-blogger-escaped-avrdude: = "" data-blogger-escaped-because = "" data-blogger-escaped-block = "" data-blogger-escaped-bs2 = " "data-blogger-escaped-bytedelay =" "data-blogger-escaped -ibration =" "data-blogger-escaped-chip =" "data-blogger-escaped-cmdexedelay =" "data-blogger-escaped-special =" "data-blogger-escaped-delay =" "data-blogger-escaped-description =" "data-blogger-escaped-detail =" "data-blogger-escaped-device =" "data-blogger-escaped-disposition =" "data-blogger-escaped-eeprom =" "data-blogger-escaped-equals =" "data-blogger-escaped-erase =" "data-blogger-escaped-flash =" "data-blogger-escaped-given =" "data-blogger-escaped-hfuse =" "data-blogger-escaped-http: =" "data-blogger-escaped-indx =" "data-blogger-escaped-initialized =" "data-blogger-escaped-instructions = "" data-blogger-escaped-lfuse = "" data-blogger-escaped-lo ck = "" data-blogger-escaped-maxw = "" data-blogger-escaped-memory = "" data-blogger-escaped-minw = "" data-blogger-escaped-mode = "" data-blogger-escaped- no = "" data-blogger-escaped-null = "" data-blogger-escaped-p00 = "" data-blogger-escaped-page = "" data-blogger-escaped-paged = "" data-blogger-escaped- pagel = "" data-blogger-escaped-parallel = "" data-blogger-escaped-part = "" data-blogger-escaped-period = "" data-blogger-escaped-poll = "" data-blogger-escaped- polled = "" data-blogger-escaped-pollindex = "" data-blogger-escaped-pollvalue = "" data-blogger-escaped-program = "" data-blogger-escaped-programmer = "" data-blogger-escaped- pulse = "" data-blogger-escaped-readback = "" data-blogger-escaped-reading = "" data-blogger-escaped-ready = "" data-blogger-escaped-reset = "" data-blogger-escaped- retry = "" data-blogger-escaped-sck = "" data-blogger-escaped-serial = "" data-blogger-escaped-set = "" data-blogger-escaped-signature = "" data-blogger-escaped- size = "" data-blogger-escaped-stabdelay = "" data-blogger-escaped-syncloops = "" data-blogger -escaped-timeout = "" data-blogger-escaped-to = "" data-blogger-escaped-type = "" data-blogger-escaped-us = "" data-blogger-escaped-usbasp = "" data-blogger -escaped-usbasp_cpi_cmd = "" data-blogger-escaped-usbasp_initialize = "" data-blogger-escaped-usbasp_program_enable = "" data-blogger-escaped-usbasp_spi_set_sck_period = "" data-blogger-escaped.fischl.de = "" data-blogger-escaped-x30 = "" data-blogger-escaped-yes = ""> 0x01, 0x31, 0x01, 0x01
avrdude: usbasp_cpi_cmd (0x30, 0x00, 0x01, 0x00) => 0x00 , 0x31, 0x00, 0x01
Чтение | ################# | 33% 0.00savrdude: usbasp_cpi_cmd (0x30, 0x00, 0x02, 0x00) => 0x00, 0x61, 0x00, 0x03
Чтение | #################################################################################################### | 100% 0,00 с

avrdude: Подпись устройства = 0x010103
avrdude: Ожидаемая подпись для ATtiny13 - 1E 90 07
Дважды проверьте микросхему или используйте -F для отмены этой проверки.
avrdude: usbasp_close ()

avrdude готово. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

Поищите на форумах, похоже, виновата автоматическая установка sck на новой фирме. (http://openrcforums.com/forum/viewtopic.php?f=10&t=1363#p29615)
 avrdude: auto set sck period (потому что заданный равен нулю) 
получил
 Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m8 -c avrisp -b 19200 -P /dev/cu.wchusbserial1420 -U flash: w: main.hex -F 
avrdude: stk500_recv (): программист не отвечает
avrdude: stk500_getsync () попытка 1 из 10 : not in sync: resp = 0x00

avrdude: Устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.12s

avrdude: Подпись устройства = 0x1e9307
avrdude: ПРИМЕЧАНИЕ: указана «флэш-память», будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: чип стирания
avrdude: чтение входного файла "main.hex"
avrdude: входной файл main.hex автоматически определяется как Intel Hex
avrdude: запись flash (3758 байт):

Запись | #################################################################################################### | 100% 8.72s

avrdude: записано 3758 байт флеш-памяти
avrdude: проверка флеш-памяти относительно main.hex:
avrdude: загрузить данные флэш-данных из входного файла main.hex:
avrdude: входной файл main.hex автоматически определяется как Intel Hex
avrdude: входной файл main.hex содержит 3758 байт
avrdude: чтение данных встроенной флэш-памяти:

Чтение | #################################################################################################### | 100% 6.93s

avrdude: проверка ...
avrdude: 3758 байт флэш-памяти подтверждено

avrdude: safemode: предохранители исправны (H: FF, E: D9, L: 9F)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $

нет
ммм, я не хочу возвращаться к старой заблокированной прошивке.Форум предлагает мне перемыть четыре резистора
любопытный
подключить его к моему arduino pro mini
и вуаля…
 Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m328 -c usbasp -P usb -n 

avrdude: Устройство AVR инициализировано и готово к приему инструкций

Чтение | #################################################################################################### | 100% 0,00 с

avrdude: Подпись устройства = 0x1e950f
avrdude: Ожидаемая подпись для ATmega328 - 1E 95 14
Дважды проверьте микросхему или используйте -F для отмены этой проверки.

avrdude сделано. Спасибо.
Nugrohos-MacBook-Air: attiny13a nugroho $ avrdude -p m328 -c usbasp -P usb -b 1920 -U flash: r: ArProMini.bin: r -v -F

avrdude: версия 6.0.1, скомпилирована в декабре 16 2013 в 17:26:24

Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

Copyright (c) 2007-2009 Joerg Wunsch

Общесистемный файл конфигурации "/ usr / local / CrossPack-AVR-20131216 / etc / avrdude.conf "

Файл конфигурации пользователя:" / Users / nugroho /.avrduderc "

Файл конфигурации пользователя не существует или не является обычным файлом, пропуская

Использование порта: usb

Использование программатора: usbasp

Переопределение скорости передачи данных: 1920

Компонент AVR: ATmega328

Задержка стирания микросхемы: 9000 us

PAGEL: PD7

BS2: PC2

Расположение RESET: выделенный

RETRY импульс: SCK

режим последовательного программирования: да

режим параллельного программирования: да

тайм-аут: 200

StabDelay

StabDelay: 100

StabDelay : 25

SyncLoops: 32

ByteDelay: 0

PollIndex: 3

PollValue: 0x53

Сведения о памяти:

Блок опроса, страница опроса

Тип памяти Режим задержки Размер Indx Paged Size Size #Pages MinW MaxW ReadBack

----------- ---- ----- --- ---- ------ ------ ---- ------ ----- ----- ---------

eeprom 65 20 4 0 нет 1024 4 0 3600 3600 0xff 0xff

flash 65 6128 0 да 32768 128 256 4500 4500 0xff 0xff

lfuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00

hfuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00

efuse 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00

замок 0 0 0 0 нет 1 0 0 4500 4500 0x00 0x00

калибровка 0 0 0 0 нет 1 0 0 0 0 0x00 0x00

подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00

Тип программатора: usbasp

Описание: USBasp, http: // www.fischl.de/usbasp/

avrdude: автоматическая установка периода sck (поскольку заданный равен нулю)

avrdude: устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0,00 с

avrdude: Подпись устройства = 0x1e950f

avrdude: Ожидаемая подпись для ATmega328 - 1E 95 14

avrdude: safemode: lfuse читается как FF

avrdude: safemode: hfuse 9000: avrdude 9000: avmode 9000: DAmo 9000 efuse читает как 5

avrdude: чтение флэш-памяти:

Чтение | #################################################################################################### | 100% 8.43s

avrdude: запись выходного файла "ArProMini.bin"

avrdude: safemode: lfuse читается как FF

avrdude: safemode: hfuse читается как DA

avrdude: safemode: efuse читается как 5

9000: safemode ОК (H: 05, E: DA, L: FF)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: attiny13a nugroho $ ls -l

всего 232

-rw-r - r-- 1 nugroho Staff 32670 16 мая 17:52 ArProMini.bin

drwxr-xr-x 8 nugroho Staff 272 15 мая 21:50 blinkLED_A

drwxr-xr-x 8 nugroho Staff 272 16 мая 00:30 coba1

drwxr-xr-x 8 nugroho Staff 272 15 мая 21:50 coba2

drwxr-xr-x 8 nugroho staff 272 16 мая 09:16 coba3

-rw-r - r - @ 1 nugroho staff 11182 16 мая 13:29 прошивка.hex

drwxr-xr-x 4 nugroho Staff 136 15 мая 21:50 lcdNO

-rw-r - r - @ 1 nugroho Staff 10597 16 мая 15:19 main.hex

-rw-r-- r-- 1 nugroho staff 8192 16 мая 15:27 original_firmware.bin

-rw-r - r-- 1 nugroho staff 8192 16 мая 13:42 original_firmware.hex

-rw-r - r-- 1 nugroho staff 15784 11 мая 23:23 tn13Adef.inc

-rw-r - r - @ 1 nugroho staff 10785 28 февраля 2009 usbasp.atmega8.2009-02-28.hex

-rw-r - r - @ 1 nugroho staff 13248 16 мая, 14:05 usbasp.atmega8.2011-05-28.hex

Nugrohos-MacBook-Air: attiny13a nugroho $

это очень странно, а потом
 ugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -P usb -n - F 

avrdude: error: programm enable: target не отвечает. 1
avrdude: ошибка инициализации, rc = -1
avrdude: устройство AVR инициализировано и готово принимать инструкции
avrdude: сигнатура устройства = 0x000000 (повторная попытка)
avrdude: сигнатура устройства = 0x000000 (повторная попытка)
avrdude: сигнатура устройства = 0x000000
avrdude: Ура! Неверная подпись устройства.
avrdude: Ожидаемая подпись для ATtiny13 - 1E 90 07

avrdude done. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

вздох, мой usbasp в порядке
С другой стороны: исчезло предупреждение об обновлении прошивки при использовании main.hex, самокомпилированной прошивки 2009 года
######
ждать, ….
нашел другое решение из http://forum.arduino.cc/index.php?topic=262150.0 и http://forum.arduino.cc/index.php?topic=282330.0
 Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -B4 -n 

avrdude: установить частоту SCK на 187500 Гц
avrdude: устройство AVR инициализировано и готово принимать инструкции

Чтение | #################################################################################################### | 100% 0.00s

avrdude: сигнатура устройства = 0x1e9007

avrdude: safemode: предохранители исправны (H: FF, E: FF, L: 6A)

avrdude done. Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

Nugrohos-MacBook-Air: coba3 nugroho $ avrdude -p t13 -c usbasp -P usb -B4 -U flash: w: coba3.s.hex

avrdude: set Частота SCK до 187500 Гц
avrdude: устройство AVR инициализировано и готово к приему инструкций

Чтение | #################################################################################################### | 100% 0.00s

avrdude: Подпись устройства = 0x1e9007
avrdude: ПРИМЕЧАНИЕ: указана «флэш-память», будет выполнен цикл стирания
Чтобы отключить эту функцию, укажите параметр -D.
avrdude: стирание чипа
avrdude: установка частоты SCK на 187500 Гц
avrdude: чтение входного файла «coba3.s.hex»
avrdude: входной файл coba3.s.hex автоматически определяется как Intel Hex
avrdude: запись флэш-памяти (34 байта ):

Письмо | #################################################################################################### | 100% 0.04s

avrdude: записано 34 байта флэш-памяти
avrdude: проверка флэш-памяти на соответствие coba3.s.hex:
avrdude: загрузить данные флэш-памяти из входного файла coba3.s.hex:
avrdude: входной файл coba3.s.hex auto определяется как Intel Hex
avrdude: входной файл coba3.s.hex содержит 34 байта
avrdude: чтение данных встроенной флэш-памяти:

Чтение | #################################################################################################### | 100% 0,02 с

avrdude: проверка ...
avrdude: 34 байта флэш-памяти подтверждено

avrdude: safemode: предохранители исправны (H: FF, E: FF, L: 6A)

avrdude done.Спасибо.

Nugrohos-MacBook-Air: coba3 nugroho $

.

coba.s — PB0, PB1, PB2 подключен к светодиоду каждый. PB0 и PB всегда включены, в то время как PB2 мигает каждые 1 с.

.include «../tn13Adef.inc»

.org 0

init:

ldi r16,0b00000111

out DDRB, r16; PB2 в качестве выхода

sbi PORTB, 1

sbi PORTB, 0

цикл:

sbi PORTB, 2

таймер rcall

cbi PORTB, 2

таймер rcall

rjmp loop2:

rjmp таймер 9000 r16,0; это счетчики таймеров

ldi r17,0

ldi r18,5

timer2:

inc r16; выполнить 256 итераций

brne timer2

inc r17; сделать 256 раз

brne timer2

dec r18

brne timer2; сделать 5 раз

рет; return

мне на этот день хватит,

.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *