Косенко Данила Юрьевич (kosenko_danila) wrote,
Косенко Данила Юрьевич
kosenko_danila

Category:

Arduino Nano 3.0 как программатор внешнего микроконтроллера (решено!)

Не хотел писать, пока сам не разберусь, да вот - не разобрался.
"Заболел" я новой темой - программирование микроконтроллеров. Аналоговую электронику понять не могу, а хотелось бы таки узнать, почему спаянная кучка деталей вдруг позволяет принимать радио и т.п.
Чисто на Си и прочих ассемблерах со всякими указателями писать не люблю. Выбрал путь "Ардуино". Такая электронная схема, позволяющая работать со впаянным в неё микроконтроллером прямо с компа. Точнее, писать в МК (микроконтроллер) прошивку напрямую с компа, потому что в плате собран программатор.
Как всякий ардуинщик, помигал светодиодом. Подцепил ЖК-экран 1602, сначала на проводках через макетную плату, затем через i2c-модуль, вывел "Hello, world!". Посоздавал свои символы с кириллицей. В общем, вёл себя, как все нормальные ардуинщики.
А потом захотел отвязать МК от платы. Нет ничего проще, утверждает Инет. Берёшь внешний МК за 200 рублей или меньше, соединяешь с платой на макетке проводками (даже без обвязки типа внешнего кварца и кондюков), прошиваешь Ардуино как программатор (через Arduino IDE пишешь скетч "ArduinoISP") и потом программируешь внешний МК при помощи неё в режиме "Arduino as ISP". Роликов и статей вагон. Например

Пробовал несколько дней.
И всё время вылезали ошибки:
Либо
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
Либо
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15

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

Дано:
Плата - Arduino Nano c МК Atmega 328
Внешний МК - Atmega8

Операционка: Linux Mint (впрочем, на восьмой винде было тоже самое).

Программы:
Arduino IDE 1.0.5
или
avrdude

Уточню, у меня китайский Arduino Nano 3.0 на CH340G.
Обновлено.
Итак, если при прошивке у вас вылетает такая ошибка:
-----------------
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
-----------------
То надо сделать вот так:
----------
Также необходимо установить конденсатор на 10 микрофарад между GND и Reset на ардуино, минусом на землю, чтобы избежать перезагрузки нашего ардуино во время заливки скетча в микроконтроллер.
----------
И будет вам прошитый микроконтроллер! :)
Tags: ардуино, памятка, самоделки
Subscribe

  • "Ламер - это судьба" Отрывок 16

    - Так, погоди! - Павлов почесал подбородок. - С чего такая уверенность? Может, они на заводе ее прячут. Или на ферме. Коротков выдвинул из-под…

  • "Ламер - это судьба" Отрывок 15

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

  • "Ламер - это судьба" Отрывок 14

    Он вдруг огляделся. - Кстати, куда мы идем? - Помните, я в записке написал про токен. Мне тоже нужна ваша помощь. - Ты так и не объяснил, что такое…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 43 comments

  • "Ламер - это судьба" Отрывок 16

    - Так, погоди! - Павлов почесал подбородок. - С чего такая уверенность? Может, они на заводе ее прячут. Или на ферме. Коротков выдвинул из-под…

  • "Ламер - это судьба" Отрывок 15

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

  • "Ламер - это судьба" Отрывок 14

    Он вдруг огляделся. - Кстати, куда мы идем? - Помните, я в записке написал про токен. Мне тоже нужна ваша помощь. - Ты так и не объяснил, что такое…