Заголовок сообщения: Программирование ATMega8 с помощью USBASP
Добавлено: Чт фев 20, 2014 01:58:10
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Доброго времени суток! Пытаюсь научиться программировать (хотя бы залить готовую прошивку в контроллер). Купил программатор USBASP в Чине, пришел в упаковке, целехонький. Отдали мне контроллер ATMega8L-8PU (кто-то купил программатор, но плату с панельками так и не сделал). Хотел и платку с панельками - да не нашел, пришлось собрать как тут: клац. Вроде собрал правильно, обрывов и КЗ быть не должно. Соединил плату и программатор вместе, на плату в гнездо 2,1 подал 12В, подключил к ПК. Программатор успешно установился. Продавец в комплект приложил линк на дрова и какие-то проги, да документацию. Вычитал я из приложенных мануалов, что нужно юзать khazama AVR Programmer. Установил, открыл. дальше в инструкции предлагают выбрать файл прошивки - его нет. Вот не задача... В гугл с такими лозунгами: "первый проект atmega8", дальше - сюда. Готового .hex файла нет на сайте. Начинаю читать статью, где говорят, что в предыдущей статье... Иду в предыдущую статью рассматривать код мигалки на C и способы его компиляции. Качаю WinAVR, инсталлирую. Снова в статью, Copy+Paste - готово. Не тут то было! Еще Makefile редактировать... Начинаем... Почти готово.
Цитата:
Ищем строку:
AVRDUDE_PORT = com1 # programmer connected to serial device
Заменяем на:
AVRDUDE_PORT = lpt1
Программатор stk200 использует параллельный порт (lpt).
Но у меня USB программатор. Что делать? Смотрю на время - без 20 полночь. Оставляем по дефолту, вдруг прокатит. Компилим - все ОК. Иду в первую статью, куда попал из гугла. Там написано:
Цитата:
Запустим Programmers Notepad, откроем пример программы, приведенной в статье "Makefile и компиляция программы". Можно еще раз откомпилировать его командой Tools -> [WinAVR] Make All. После чего загрузим откомпилированный файл my_test.hex в память программ вашего микроконтроллера командой Tools -> [WinAVR] Make Program.
По окончании процесса внизу, в окне "Output", должно появиться сообщение об успешной загрузке
Делаю все, как написано. В итоге:
Цитата:
"make.exe" program avrdude -p atmega8 -P com1 -c stk200 -U flash:w:my_test.hex avrdude: port name "com1" is neither lpt1/2/3 nor valid number avrdude: can't open device "com1"
avrdude: failed to open parallel port "com1"
make.exe: *** [program] Error 1
> Process Exit Code: 2 > Time Taken: 00:00
Цитата:
Оставляем по дефолту, вдруг прокатит.
Не прокатило....
Что ж, возвращаемся к софту от продавца. Открываю мануал, khazama AVR Programmer, где выбираю готовый .hex файл прошивки контроллера на "мигалку", который сам скомпилил в поте лица. Жму "Auto Program", получаю:
Основная задача: запилить такую лампу (или несколько) до 8 марта Текущая задача: проверить: работает ли программатор и панелька?
Пара вопросов напоследок:
Что делать с частотой? Как мне выставить эти джамперы (у меня переключатели, как и в варианте платы автора статьи)
Может ли кто-то скомпилить прошивку под мигалку и закинуть сюда? (а то времени в обрез до 8 марта, а мигалка - просто проверочная стадия)
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Чт фев 20, 2014 21:34:17
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Сегодня попробовал залить программу этой мигалки по 2 способу из этой инструкции в CodeVision AVR. Та же ошибка. Помогите. Сегодня времени у меня еще на день меньше...
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Пт фев 21, 2014 01:31:48
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Завтра попробую. А как указать USB? Я предполагал, что USB вешается на виртуальный COM, сразу полез в дисп. устройств (еще тогда), но ничего не нашел или просто забыл где это смотреть.
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Пт фев 21, 2014 09:25:39
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Попробовал в оболочке USBASP_AVRDUDE_PROG с drive2.ru - та же ошибка.
Цитата:
avrdude.exe: error: programm enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.
Сам не давно начал этим заниматься, программатор у меня такой же. USBASP_AVRDUDE_PROG все определил с первого раза. Попробуй с командной строки зайти в папку где лежит USBASP_AVRDUDE_PROG и вбей не: avrdude -p atmega8 -P com1 -c stk200 -U flash:w:my_test.hex, а: avrdude -p m8 -c USBASP -U flash:w:my_test.hex А khazama AVR Programmer у меня ничо не получилось.
А усб нигде указывать не надо, указывается только программатор USBASP, если он поддерживается, а программой уже подразумевается что он к усб подключен.
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Вт фев 25, 2014 00:56:18
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Программатор заработал после прозвонки. Оказалось, что на плате с панельками отошел вывод "SCK", который был успешно припаян. Сделал я и мигалку. Взял код из этой статьи, чуть-чуть подправил синтаксис и вот что вышло:
Код:
/************************************************ ПРИМЕР МИГАНИЯ СВЕТОДИОДАМИ
DDRD = 0xff; /* все выводы порта D сконфигурировать как выходы */ while (1) { // Бесконечный цикл PORTD = 0xff; /* установить "1" на всех линиях порта D */ delay_ms(250); // Ждем 0.25 сек. PORTD = 0x00; /* установить "0" на всех линиях порта D */ delay_ms(250); // Ждем 0.25 сек. } // закрывающая скобка бесконечного цикла } // закрывающая скобка основной программы
Только беда: мне нужно купить ATtIiny в smd корпусе., а как его прошить? Где взять такой переходник с smd на dip? Просто таких контроллеров прошить надо штук пять, не припаивать же...
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Ср фев 26, 2014 04:02:50
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Appll писал(а):
Kolian писал(а):
Где взять такой переходник с smd на dip? Просто таких контроллеров прошить надо штук пять, не припаивать же...
Есть универсальные платы под PLCC и QFP. К ней подпаиваете разьем программатора. А саму микруху прижимаете биндером. Прошили,проверили запаяли.
Купил четыре Attiny13A ($0.9 за штуку) в SOIC корпусе. Спросил панельки-переходники с SOIC на DIP. "Были такие" - мне ответили. поинтересовался по чем... $5.3 за один переходничек. Нашел платки, на которых шаг выводов контроллера совпадает с дорожками - купил парочку ($0.1 за шт.). Думал: дело в шляпе. припаиваюсь к дорожкам, другие концы проводков в DIP панельку на плату с панельками, а контроллер прищепкой. Как ни пытался - ничего не вышло. пришлось припаять контроллер. Дорожки слишком короткие, лапки МК не становятся нормально, когда провода припаяны.
_____
Но не все так гладко. Столкнулся я с проблемой:Как выставить фьюзы? У меня есть скрин фьюзов из CodeVision AVR Programmer. Но эта программа не совместима с моим программатором. Однако, в моем арсенале имеется парочка оболочек avrdude: khazahma и USBASP_AVRDUDE_PROG. Прикладываю скрины фьюзов.
Это скрин фьюзов из CodeVision AVR Programmer (то, что выложил автор статьи о лампе)
Выставление фьюзов в USBASP_AVRDUDE_PROG (я считал с чистого контроллера)
Выставление фьюзов в khazahma (я считал с чистого контроллера)
Зачем паять провода к дорожкам? там же есть отверстия..... И микруха 100% прижалась бы прищепкой. Ну и можно припаять PLC ножки и вставить платку в разьем на Вашей плате. Фьюзы....подводный камень всех МК Вообщем так - лучше почитать тему про них ( благо тут их хватает)
_________________ Из всех меломанов, хороший транзисторный звук от хорошего лампового отличить смог только осциллограф...
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Ср фев 26, 2014 16:43:42
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Так что с фьюзами? Уто-нибудь можкт показать мне каки фьюзы выставлять в khazahmaили другой оболочке? Я приложил нужные фьюзы, только в другой программе, не понимаю только как преобразовать.
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Ср фев 26, 2014 20:44:27
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Appll писал(а):
Зачем паять провода к дорожкам? там же есть отверстия..... И микруха 100% прижалась бы прищепкой. Ну и можно припаять PLC ножки и вставить платку в разьем на Вашей плате. Фьюзы....подводный камень всех МК Вообщем так - лучше почитать тему про них ( благо тут их хватает)
Уже припаял. Хорошо, что пару плат купил... Паял в час ночи, соображалка не очень работала. Еще 3 Чипа ждут своей очереди Какие темы, например... Может фьюзы дефолтные оставить, просто прошивку закачать? И попробовать.
Уже нашел)) Попал в эту тему, а потом на этот сайт, только аваст начал гавкать, что вирусы, но на win 8 пустил, на XPюше сказал, что страница недоступна... Пробежался по фьюзам для своего контроллера, почитал что к чему, помогло немного))) Выставил фьюзы так:
Прошил их и прошивку залил. Сейчас в устройство МК впаяю.
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Чт фев 27, 2014 01:53:10
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Заработала "лампа" . Перепаял на красный кристалл резистор с 9 на 13 Ом, но все равно красного многовато. Цвет плавно меняет: красный --> розовый --> серый --> белый --> белый с зеленым оттенком --> красный --> розовый -->...... Короче, вот фотки (не один фотик на видео запечатлеть не смог, только глаз видел, изменение цвета не такое значительное)
Хотелось бы, чтобы доходило до чистых цветов (красный, синий, зеленый), плавно меняя оттенки, среди которых желтый, пурпурный, голубой и другие. Возможно ли это в данном коде?
/** * Timer overflow interrupt. Used for PWM implementation * Called with TIMER_OVERFLOW_FREQUENCY frequency */ ISR(TIM0_OVF_vect){ static uint8_t cnt_0 = 0; // PWM counter static uint16_t cnt_1 = 0; // counter for next color recalculation
Заголовок сообщения: Re: Программирование ATMega8 с помощью USBASP
Добавлено: Пн мар 03, 2014 02:34:35
Родился
Зарегистрирован: Чт май 23, 2013 22:19:27 Сообщений: 17
Рейтинг сообщения:0
Написал я автору, спросил в чем проблема, он посоветовал выпаять МК и добиться белого свечения СИД, подключив питание к 3-м кристаллам, методом подбора резисторов. И поделился новой прошивкой. теперь заметно, что это "Лампа настроения". Видео тут
Столкнулся с проблемой - не шьется мега8 USBASP'ом и все тут, вообще не видится. Пришлось расковырять USBASP и запаять перемычку "Slow SCK", после чего фьюзами выставил 2 мгц внутренний генератор и тогда оно заработало нормально без "Slow SCK" (с ним уж больно медленно). Не помню точно чем я до этого шил меги8, мне казалось этим же девайсом и "Slow SCK" не требовался, может глючу.
_________________ "Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл / "Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Сейчас этот форум просматривают: Starichok51 и гости: 29
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения