И снова Atmega8 как arduino
- Войдите на сайт для отправки комментариев
Завалялось у меня 4-5 атмег8, было время, программировал их, но теперь стал ленив и перешел на ардуино.
Суть вопроса - как с атмеги сделать ардуино, в гугле много хлама, а пошаговой инструкции так и не нашел - запорол атмегу (походу с фюзами что-то) кстати я с фюзами не работал никогда, заливал на стандартные заводские...
В общем,
1 какая минимальная обвязка должна быть? (атмега8, 2 конденсатора, кварц) - как я понимаю этого хватает?
2 как залить правильно бутлоадер
2.1 - с помощью usb to rs232
2.2 - с помощью программатора (mosi miso...)
2.3 - когда, как и какие фюзы надо выставить, а именно - они сами ставятся при прошивке бутлоадеа или чем-то надо выставлять? если надо выставлять чем-то, то какой прогой. и какие выставлять?
3 с дохлыми атмегами уже попрощатся или попытатся исправить ошибку - подпаять кварц, конденсаторы и как-то лечить?
Помогите пожалуйста, не пропадать же добру, возможно какие-то небоьшие проекты заливать буду.
любой isp программатор сгодится, USBASP скажем
А этот код куда и чем заливать? Вместо того, что в arduino Ide? И просто как и тогда жать " записать бутлоадер" ?
Извиняюсь за столь много и возможно тупых вопросов, просто после уже 2х положенных атмеги хочется хоть одну оживить
Извиняюсь за столь много и возможно тупых вопросов, просто после уже 2х положенных атмеги хочется хоть одну оживить
Ржу не могу. И это пишет человек, который громко заявил что вот типа шил раньше асм...
Да в том то и дело, что шил через winavr и там надо было только код писать без всяких там)
С фюзами столкнулся, когда убил первую мегу
С помощью USB-RS232 конечно не получится ибо этим как раз загрузчик и занимается. А вот программатором легко! Правите файл boards.txt с опубликованым выше куском конфига, идете в Arduino IDE и даете команду - прошить загрузчик прямо оттуда, предварительно выбрав правильно процессор, плату и программатор. Ну или выковырять из папки с Arduino IDE бинарный файл загрузчика и прошить любым программатором, предварительно фьюзы выставив. Фьюзы выше написаны какие должны быть. Profit!
Походу я опять положил атмегу...
Вчера залил с папки бутлоадер hex файл в ардуино с помощью eXtreme Burner - AVR,
выставил лоу и хайт фюзы, прошил, после этого уже через программатор к ардуине невозможно обратится...
вставляю rs2323, надеюсь через него залить программу миганием светодиода, после компиляции 2-3 раза мигает слабо светодиод на rs232 и все, ошибка. В атмегу программа не ложится. Что делать? Как-то можно менять фьюзы еще раз, после смены этих?
Загляни сюда. Здесь восстанавливают фьюзы.
http://www.getchip.net/posts/059-ispravlyaem-avr-fyuzy-pri-pomoshhi-atme...
http://forum.cxem.net/index.php?s=bf53c6fe0c94554e07c74d943cdd1463&showt...
сам пользуюсь. я в смысле про бутлоадер, что в board прописать тоже указано
Объясните мне смысл фразы "из атмеги сделать ардуино".
Загляни сюда. Здесь восстанавливают фьюзы. Эта штука работает, восстанавливает залоченые фьюзами камни на заводские настройки.
мега просто мк пока не сделать заливку скетчей по какому нибудь интерфейсу
как двигатель без шасси
Я в смысле Ардуино как плату с дырочками или чтоб писать в Arduino IDE. Мой процесс разработки девайса на мк(почти любом АВР): концепция>написание кода в ArduinoIDE с отладкой и отлавливанием багов в SIM for Arduino и обкаткой в условияx приближенных к боевым в Proteus>заливка в Уно или Мегу(от запросов проги)отлов багов(если есть) в реальном железе>подбор по перефирии и объему памяти подходящей АВРки(если АВРка меньше по размеру чем исходные, перебивка в скетче пинов под выбраный МК)>заливка скетча с помощью Arduino as ISP в пустой МК>прошивка фьюзов(заводские не трогаем, кроме CKDIV8(если он есть(у разных контроллеров по разному(на меге 8 его нет) и CKSEL(выставляем на внешний кварц) и все. Никаких бутлоадеров и прочей фигни. Имея программатор и ардуина в принципе нафиг не нужна.
ага подход такой зачем тебе ардуина вообще, как и среда
CVAVR и в путь
Лень )))). Писать хренову тучу инициализаций пинов, УАРТОВ, таймеров и т.д. одну перифирию запариваешься писать, когда до кода доходит репа уже не соображает.
З.Ы. в SIM for Arduino можно обкатать код не компилируя с просмотром пошагово как чего происходит, прерывания, вызов функций и т.д. Именно моего кода как я его вижу, а не скачками по адресам, переходам, регистрам.
ну тут ведь дело вкуса. не каждому это надо. достаточно например в терминале видеть значения переменных и т.д.
Ну так то да. Но количество перезаписей камня неумолимо тает))))))))))))). К живой дуине нужно цеплять все внешние цепи, датчики исполнительные устройства, а если правила меняются во время полета мяча то это засада. Ну это лирика. Я непойму у ТСа задача какая, 4-5 ардуин наклепать?
Вопрос1:(минимальная обвязка кварц кондеры=Недоардуина)нафига иметь 4-5 мег с залитым бутом если работать с ними можно и без оного(тем более, что у мега8 распиновка один в один с Уной).
Вопрос2: (если нужна полноценная дуина со всеми плюшками, кнопками, диодами прошивающим МК или FTDI ) то 1 вопрос ТСа непонятен.
И вопрос3: (если хочется писать в ArduinoIDE)нафига иметь 4-5 мег с залитым бутом если работать с ними можно и без оного(тем более, что у мега8 распиновка один в один с Уной).
И стеб Пухлявого в силе. Как так писал код шил меги, а про фьюзы незнает(странно). Это как-чинил телевизоры, а как каналы настраивать незнаю.
не суть. у меня лежит штук 5 меги8 с залитым бутлоадером
кварц кондеры не нужны с минимальной обвязкой
насчет как раньше программировал а теперь не знает про isp это да странно
про фьюзы вопрос наверно привязан с работой идэ
Все вопросы снимаются в случае.
Есть дуина с паленым камнем нужно её оживить.
Есть задача залить бут.
Истина где-то рядом (С).
Кстати тоже нужно себе мегу в 328ю запилить бут и пусть валяеся, а то мало ли чего уна здохнет.)))))))
Вопрос к ТСу. Программатор есть USBASP, LPT 5проводов, Громова, любой для АВР?
Кстати тоже нужно себе мегу в 328ю запилить бут и пусть валяеся, а то мало ли чего уна здохнет.)))))))
Программатор есть USBASP...
продай уну и запили загрузчик в USBasp, что бы ничего в лесу не сдохло.
*закопал денег под вишней, а то мало ли от чего банк сдохнет.
Не возьму никак я в толк : за каким ТС-у шить в 8ку , ПРОГРАММАТОРОМ бут ?
на просто камне и без бута все прекрасно работает.
Делал недавно из Atmega8 мини-дуину для себя. Будет работать без внешнего кварца, на внутреннем(8mhz)
1. Скачать вот тут нужный вам загрузчик(optiboot). Положить нужный вам файл в "C:\Program Files (x86)\Arduino\hardware\arduino\bootloaders\optiboot". Загрузчик почти не занимает места :)
2. Добавить в boards.txt
3. Прошить через USBAsp загрузчик.
Все! Теперь Atmega8 можно программить через UART с помощью Arduino IDE
хороший материал
Да, очень удобно. И места намного больше с этим загрузчиком.
Отдалился я од темы. Вся суть была в том, чтобы сделать платку на подобии с 20 поста.
Про программатор были вопросы из-за того, что и до сих пор не получается через spi залить бутлоадер.
У меня получилось бутлоадер зашить через ардуину мини, но атмега вела себя очень плохо, как с кварцем, так и без. передача по порту со скоростью свыше 4600 - выводило крякозябры. А все это для того, чтобы программировать в этой IDE т.к много библиотек и всяких наработок на ардуино, а с остальным некогда заниматся - надо что-то для дома, написал, залил, готовый рабочий прибор.
В общем суть темы в том, чтобы сделать платку (как в посте 20) и шить через uart, т.к. валяются без дела пару плат атмеги8 и не занимать лишнюю ардуинку на мини проект такой как градусник для аквариума с поддержкой заданой температуры.
Делал недавно из Atmega8 мини-дуину для себя. Будет работать без внешнего кварца, на внутреннем(8mhz)
Автор, можешь скинуть больше фото, не пойму зачем там резисторы и интересна разводка платки.
извини чувак. решения нет. было бы - не жалко, а так даже не знаю что делать
будь как все. не делай сам, не отбирай кусок хлеба у китайской девочки, купи ардуину на алиэкспрессе
извини чувак. решения нет. было бы - не жалко, а так даже не знаю что делать
будь как все. не делай сам, не отбирай кусок хлеба у китайской девочки, купи ардуину на алиэкспрессе
Первое не понял, о каком ты решении?
Так то ты прав, 328 атмега почти 2$ стоит на ибее, а ардуинка про мини 2,23$ разница в 30 центов, но если нужно очень маленькое устройство, не выпаевать же с ардуинки атмегу =)
ты что иронии не понимаешь? в 20 посте, про который ты в пример приводил все что нужно есть. я про первую часть. правда что за резисторы и сам не понял
про вторую ты все понял
Ирония дошла, по свободе еще его код попробую залить, но все же не пойму, почему через SPI не шьет, там же только программатор надо заменить и все, нажать "залить загрузчик" ?
Делал недавно из Atmega8 мини-дуину для себя. Будет работать без внешнего кварца, на внутреннем(8mhz)
Автор, можешь скинуть больше фото, не пойму зачем там резисторы и интересна разводка платки.
Там два делителя напряжения для замера двух источников питания. Вообщем не обращай внимание на все кроме МК. Я просто представил фото, чтобы не быть голословным.
Puhlyaviy пишет: "Ржу, не могу..."
Увидел твой тупой сарказм и решил вставить свои 5 копеек. Не надо РЖАТЬ! Лучше бы помог человеку. Твой скрипт не катит. Запись его в борд.тхт в Arduino IDE V.1.65>, V1.66 не активирует МК ATMega для программирования через USBAVR. Попробуй сначала сам, а потом посмейся на самим собой!
Puhlyaviy пишет: "Ржу, не могу..."
Увидел твой тупой сарказм и решил вставить свои 5 копеек. Не надо РЖАТЬ! Лучше бы помог человеку. Твой скрипт не катит. Запись его в борд.тхт в Arduino IDE V.1.65>, V1.66 не активирует МК ATMega для программирования через USBAVR. Попробуй сначала сам, а потом посмейся на самим собой!
Я было подумал, что Пухлявого и след простыл, а нет - призрак его из некропостов неофитам спать не дает. )))
вопрос по атмеге 8 и вочдогу в ней...
как удлиннить время работы с 2 секунд до 8 секунд??
использую 8 секунд в 328, и все работает как нужно, а вот в атмега8 всего 2 сек? как быть?
Офигеть! Считаем 8 / 2 = 4. Не?
в атмега8 всего 2 сек? как быть?
Смирица.
Ну, или взять с Китаю Atmega88, она 1в1 как 328, кроме памяти.
Тут всё зависит от схемотехники. Реально определять причину сброса и, если это wdt, считать требуемое кол-во сек. До 8-ми ли, да хоть до 1000! С 88-ми проще, потому как там отдельный вектор, но идея в том же.
есть у меня 88 мега.. но есть и 8я..
мне нужно именно на 8й. неужели никак??
причина сброса.... ну это gprs.. и хотя я библиотеки не использую, пишу сак как передавать и когда.. тем не менее, ситуци бывают разные, и с ответной стороны бывает просто мусор сыпится вместо вменяемой инфы. Плюс ко всему, 8 сек - реже wdt_reset(); приходится вписывать. Догадываюсь, что вопрос можно решить, но как - не знаю куда смотреть.
Ты шо, дурной, или прикидываешься?
Ну ведь смотришь MCUCSR и видишь WDRF и пляшешь от него. Или нет?
Наступили на больную мозоль с 88 мегами. Есть их у меня с десяток, будут ещё, но в корпусе самом малипусеньком. Заказал платки универсальные на али. Для моих поделок их хватает. Но вот припаять... будем тренироваться. Выкинуть жалко. Халява.
не знаю еще..
пример есть? менно для сброса, не для экономии питания.
Не всё так просто. Вернее, просто это если пишешь на асм. Тогда можно делать как я говорил выше. На Си же нужно лезть в стартап секцию, а gcc, в отличие от других, этого не позволяет делать. Поэтому проще в самой программе делать чаще wdt_reset().
там не везде можно поставить чаще..
а периодически детачить вочтог - тоже не выход.
жать, что разработчики не предусмотрели универсального варианта например типа 20 сек вочдога.. ведь для многих проектов этого хватило бы, часто достаточно длительной проверки, главное чтобы не зависал процессор навседа.
Чем 20 сек отличаются от 8. В космическом масштабе?
а подобным направлением, чтото можно решить? :
Нет. Стартап инициализирует переменные и стек, со всеми вытекающими.
Как вариант, можно исправить загрузчик, с тем что бы определять причину сброса по WDT и выполнять желаемые действия. Но это как то не очень... Да и загрузчик вообще может отсутствовать. КМК, игра не стоит свеч.
загрузчик я не использую, программа иначе не помещается.
Выходит процы с короткой собакой - не подходят на длинногиграющий контроль зависания.
загрузчик я не использую, программа иначе не помещается.
Выходит процы с короткой собакой - не подходят на длинногиграющий контроль зависания.
Нет. Это всего лишь значит, что артихектура твоего приложения никуда не годица.
приложение несовершенно, регулярно делаю улучшения.
НО. ведьесть проблемы от меня не зависящие. Например ответы со стороны модема. в модеме тоже своя программа внутри, плюс модем коннектится с сосфтом оператора - в итоге и на том этапе и задержки и прочее, прочее..
Например, ожидание коннекта состороны провайдера может и 10- и 20 сек быть.. Нужно ждать ответа после запроса на сессию gprs.
Пределов совершенству - нету. Например ответы от модема обрабатываю так:
Даю АТ команду модему и сразу пишется
Если есть рекомандации что улучшить в этом куске, и можно ли так собаку мучить как там - выслушаю.