Arduino проект в Atmega
- Войдите на сайт для отправки комментариев
Вс, 31/03/2013 - 14:30
Уважаемые друзья, подскажите пожалусто, есть проект на ардуино, я хотел бы код залить в atmega ,можно ли как то скомпилировать под Atmega ?
Вы для начала с определениями определитесь.... тут почитайте.
А затем почитайте какие бывают и из чего сделаны Arduino.
Сейчас ваш вопрос звучит примерно так: "Есть лампочка от машины, можно ли ее поставить в фару Хонды?"
maksim доброе время суток, подскажите если я камень с ардуины уно вставлю в вот эту плату (с соответствующим переходником) будет ли ее видить Arduino IDE?
Зависит от того как эта плата видна в винде, но скрее всего как СОМ-порт, то тогда в IDE просто выберите соответствующий СОМ-порт. А вот сможете ли вы прошивать МК зависит от того подключена ли FTDI к TX, RX и RESET выводам МК, но вроде как можно это сделать проводами, правда на плате не видно самой FTDI, может она конечно с другой стороны платы...
Там стоит двух канальный FTDI в диспетчере устройств появляется два ком порта, сама микросхема стоит с обратной стороны.
Собственно вопрос в том что я сделал проект на ардуино с использованием библиотеки rc switch , но сейчас хочу этот проект залить в атмегу8 , но незнаю как туда залить! Сделал HEX в ардуино попробвал залить в мегу, толку нет.
Если писать с нуля на CodeVisionAVR с подключением библиотеки, то компилятор ругаеться на подключенную библиотеку. Какой то замкнутый круг!
Собственно вопрос в том что я сделал проект на ардуино с использованием библиотеки rc switch , но сейчас хочу этот проект залить в атмегу8 , но незнаю как туда залить! Сделал HEX в ардуино попробвал залить в мегу, толку нет.
Ничего особо сложного нет - выбираете в Arduino: плату "Arduino NG or older w/ ATmega8", программатор: который у вас есть из списка, фьюзы отдельно записываете : avrdude -p atmega8 -c stk500v2 -U hfuse:w:0xc9:m -U lfuse:w:0x9f:m - вариант с кварцевым резонатором.
Предварительно в среде Ардуино, проверяете - а влезет ли желаемое в восьмую мегу.
В поиске по сайту вбиваете "Atmega8" и смотрите не только первую станичку, а в гугле, например, вбиваете "ArduinoISP".
Спасибо ребята!
Собственно вопрос в том что я сделал проект на ардуино с использованием библиотеки rc switch , но сейчас хочу этот проект залить в атмегу8 , но незнаю как туда залить! Сделал HEX в ардуино попробвал залить в мегу, толку нет.
Когда вы делаете HEX, то нужно его делать (компилировать) именно под ту плату (микроконтроллер) в который вы собираетесь вливать.
То есть, если у вас, в момент компиляции была выбрана плата Uno/Mega и т.п., то получившийся скетч вы в atmega8 уже не зальете (вернее зальете может-быть, но вот работать - точно не будет). Вообщем совместимость между ними все-ми - на уровне скетчей более/менее есть, а на уровне HEX-сов - нет. Под каждый контроллер нужно перекомпилять заново.
По поводу "двух-канальный FTDI" - это скорее всего означает, что вам, возможно, потребуется поставить драйвера для него (если он не будет виден как ком-порт).
Ну и что-бы ардуиноIDE признала микровонтроллер как "ардуино плату" - нужно вначале в нее влить бутлоадер (собственно только его наличием/отсутсвием и отличается "ардуино" от "просто плата на AVR микроконтроллере").
А вообще, PinBoard - шикарная плата. Только, скорее, все-таки для проф. нужд. Когда на потоке нужно девасы разрабатывать (сегодня на одном камне, завтра на другом... и т.п.).
Покупать ее что-бы сделать парочку разовых пректов - особо нет смысла. Все равно как купить проф. зеркалку за $20K что-бы сделать пару снимков на дне рождения.
Хотя, конечно если "цена не вопрос" - то можно и ее взять. Вещь - хорошая.
Все верно сказали по поводу компиляции, лохонулся , компилил под одно заливал в другое) понял когда в протеусе начала ругаться на ячейки памяти. сейчас компильнул под атмегу8 ,вечером буду собирать проект в кучу!
А вообще, PinBoard - шикарная плата. Только, скорее, все-таки для проф. нужд. Когда на потоке нужно девасы разрабатывать (сегодня на одном камне, завтра на другом... и т.п.).
Покупать ее что-бы сделать парочку разовых пректов - особо нет смысла. Все равно как купить проф. зеркалку за $20K что-бы сделать пару снимков на дне рождения.
Хотя, конечно если "цена не вопрос" - то можно и ее взять. Вещь - хорошая.
Мне она тоже нравится, осталось додуматься как ее прикрутить к Arduino IDE. Но пока не получается. В комплекте шел Atmega 16 и как на него воткнуть дуиновский загрузчик незнаю, а инфу в инете пока не нагуглил. (((
Погуглите как Atmega 32 прикрурить. Вроде был в инете бутлоадер под нее (и пин маппингу нужно было поправить). Кто-то выпускал, вроде ардуино-клон на atmega32. А с 16-той, если не ошибуюсь, у нее отличие - только в количестве памяти. Так что маппинги, бутлоадер, фьюзы - должны подходить.
Но.. на вашем месте. Я бы вначале взял более традиционный камень. 168, 328 и на нем запустил эту плату. Что-бы не гадать, в чем траблы. Толи из-за камня нестандартного, то ли из-за платы.
ATMEGA16/32 with Arduino/Processing software
Hexskews ATmega32L Bootloader - QEEWiki (вот тут не уверен, возможно буква L помешает)
Вот еще был линк
http://www.thaieasyelec.net/index.php/Arduino/ATmega32-Dev-Board-Arduino-Diecimila-Compatible-DIP-28-DIP-40-/p_133.html
на арудино клон32-той, но он "уже мертв", может найдете кто был производителем где-то в гугл-кешах.
Вот тут
software:bootloaders [Small Electronic Thingies for All Kinds of Fun Stuff] есть и бутлоадер (ищите на странице atmegaboot-32.zip)
Можно и еще нагуглить. Вообщем при желании - думаю заставите свою 16-тую быть дуиной, но потанцевать - прийдется.
leshak огромное спасибо, обязательно все проштудирую.
По поводу 328й, есть у меня от уно с бутлоудером зашитым, но нету внешнего резонатора в наличии на 16 мегагерц, есть только на 12, а как перешить фьюзы самому мне ваще даже думать страшно. Вот поэтому я и мучаю атмегу 16 что в комплекте шла с платой, а 328 держу про запас.
Блин собрал! Всеравно не работает гадость такая((, LCD показвает что готов а с RF приемника не идут данные((
Ребята посмотрите что не так делаю? На ардуино все равботает! после загрузки в Atmega не работает!
Я атмегу16 на пинбоарде завел, многое работает. Tone не добил. Короче бутлоадер я сделал, ядро ардуиноиде пофиксил, постараюсь выложить. Хотел статью написать. Ждите
А, что конкретно в Tone не работает?
kisoft с меня презент, кинь адрес куда отсылать.
А, что конкретно в Tone не работает?
При прогоне тестовых примеров, к примеру ноты от до до ля третьей октавы играет на одной частоте, си3 и до4 на другой. Сначала вообще не "играло", потом я поправил Tone.cpp и стало так, как я написал. В принципе примерно понятно, что надо делать, но копаться лень, потому что мне особо не нужно.
Попробую на днях описать что я фиксил, но времени мало. В diff могу выложить быстрее, но это мало кому поможет :) Да, всё делалось на ArduinoIDE 1.0.4.
Сейчас про бутлоадер напишу, для начала. Там всё просто.
kisoft с меня презент, кинь адрес куда отсылать.
Ок, чуть позже выложу номер счета в банке ;)
Для начала я таки написал краткую статью, как сформировать bootloader, см. здесь http://arduino.ru/forum/proekty/arduinoide-i-atmega16-formiruem-bootloader
Ребята а в чем смысл бута в атмеге? я просто залил HEX проекта LCD показвает все как надо! Вчера 2 атмеги убил похоже этим бутом))) нашел в папке ардуино бут для atmega8 прошил теперь програматор видит что это контроллер но нехочет ни читать ни писать в его!
Ок, чуть позже выложу номер счета в банке ;)
Ну вот сразу счет и деньги, а я хотел графический дисплей презентовать, правда монохром, но зато халява. ))
Ребята а в чем смысл бута в атмеге? я просто залил HEX проекта LCD показвает все как надо!
Главный смысл бута - привратить атмегу в ардуино. То есть - получить возможность заливать скетчи без программатора, через UART/SERIAL.
Вчера 2 атмеги убил похоже этим бутом))) нашел в папке ардуино бут для atmega8 прошил теперь програматор видит что это контроллер но нехочет ни читать ни писать в его!
Бутом - вы не можете убить. Бут - это вообщем-то "просто програма". 99% что вы нахомутали с фьюзами когда бут вливали. Если залокали, выключили SPI и т.п. - то тут только высоковольтный программатор поможет.
Но есть надежда, что вы просто включили внешнее тактирование (у большинства плат из boards.txt именно внешний кварц во фьюзах), а кварца у вас нет. Тогда, что-бы програматор увидел камень - нужно просто кварц к нему добавить.
Вот можете почитать про фьюзы
AVR. Учебный Курс. Конфигурация FUSE бит | Электроника для всех
Там же кстати и описан методод как сменить фьюзы, если они выставлены "на внешний", а кристала/генератора нет под рукой. Ищите на странице "техническое отступление"
Щас попробвал прочитать контроллер и о чудо, читает и пишет сново))))
По поводу Fuse я высчитвал калькулятором , прошиваю через ProgISP, Кварц 8мгц на борту платы уже стоит, а вот как в проге выставить кварц непонятно)))
И еще вопросик 1 = включено , 0 = выключено? верно?!
И еще вопросик 1 = включено , 0 = выключено? верно?!
Наоборот.
1 - unprogrammed (по умолчанию в чипе)
0 - programmed (включено).
Так повелось с тех пор, когда фьюзы были физическим проводником в чипе. Когда он есть имеем "1".
При включении параметра ("программировании") фьюз пережигался и превращался в "0".
(fuse - по английски имеет одно из значений "предохранитель")
Вот спасибо большое! А я голову ломаю ставлю 1 а оно не работает ))))
Щас попробвал прочитать контроллер и о чудо, читает и пишет сново))))
По поводу Fuse я высчитвал калькулятором , прошиваю через ProgISP, Кварц 8мгц на борту платы уже стоит, а вот как в проге выставить кварц непонятно)))
И еще вопросик 1 = включено , 0 = выключено? верно?!
поделись ссылкой на калькулятор.
Да запросто лови http://www.engbedded.com/fusecalc/
Да запросто лови http://www.engbedded.com/fusecalc/
Премного благодарен.
Ребята выручите плиз, залочил 3 штуки atmegи по CKSEL3...0 = 0000, кварц на 8мгц на ножках не видит, я так понимаю надо собрать генератор на 1 мгц чебы разлочить? подкинте схемку на 555 микросхемке? Спасибо!
Вот можете почитать про фьюзы
AVR. Учебный Курс. Конфигурация FUSE бит | Электроника для всех
Там же кстати и описан методод как сменить фьюзы, если они выставлены "на внешний", а кристала/генератора нет под рукой. Ищите на странице "техническое отступление"
Опять-таки, в этой же статье есть и ссылка на калькулятор фьюзов, который вы выпрашивали раньше. Причем именно на тот же калькулятор. И про "что значит 0, а что 1" - тоже там есть.
>подкинте схемку на 555 микросхемке?
Если есть дуина в руках, то почему-бы на одну из ее ног не выдать импульсы? Пусть он еще и генератором поработает.
Дуина имеется, прошу прощения за тупоголовость , а можно пример кода или схемку как это организовать через ардуино?
Если дуина будет генератором на 1 МГц, то ей же прошивать не получится. Пост #43.
Заливаете, открываете сериал-монитор, вбиваете в него 1000000 и нажимаете send, сериал-соединение виснет, но вроде как на 9 выводе дуины получаем 1 МГц. "Вроде как" потому что сам осциллографом не проверял, но по даташиту расчет верный.
сериал-соединение виснет, но вроде как на 9 выводе дуины получаем 1 МГц.
Да там же не обязательно 1Мгц выдвать. Если "метод пальца" - прокатывает что-бы фьюзы перешить, то значит и 50 герц хватать должно. Выше скорость - значит просто быстрее все это пройдет.
Но, честно говоря - не пробовал.
Возможно даже хватит подкрутить чуток heartbeat() в AduinoISP.
Но, конечно, если есть просто отдельная ардуино для генерации сигнала и отделная для прошивки (или просто есть программатор), то проще не морочить себе голову с модификаций ArudinoISP
У меня есть отдельно програматор ProgISP и отдельно ардуино!
У меня есть отдельно програматор ProgISP и отдельно ардуино!
Ребята Спасибо Вам большое щас приеду с работы буду пробвать!
Не забудьте, что ночью надо иногда спать! ;) Удачи!
Не забудьте, что ночью надо иногда спать! ;) Удачи!
Учитывайте что не у всех сейчас ночь ;)
Не всем повезло, значит, а нам, говорят, подвезут чуть позже, так что у меня дома всем ночи хватит :) Рассылать что ли по почте, кому мало.. эхх
Кстати, о фьюзах, для Андроида есть "AVR Fuse", может кто не знает. Во всяком случае всегда под рукой. А еще "AVR database" или типа того, там даташиты на многие AVR МК, тоже может быть полезным.
Ребята спасибо огромное 3 МК разблокировал с помощью ардуино!!!!!!!!!!!!!!!!!!!!!!!!!!
Ребята спасибо огромное 3 МК разблокировал с помощью ардуино!!!!!!!!!!!!!!!!!!!!!!!!!!
А теперь заблокируйте их обратно!!
Что-бы потренироватся ;)
И "метод пальца" - опробовать.
Так каким вариантом сигнал генерили "1mHz" или "тупо дергаем ногой абы-как?"
В качестве софта для программирования лучше всего использовать SinaProg. Мало того, что у меня только он нормально заработал с arduinoISP (AvrISP), так еще и сам в себе имеет шикарный фьюзе-калькулятор, в котором интуитивно понятно или ставим галки или снимаем, причем для каждого МК он уже знает что и зачем. Случайно залочить уже не получится (не рассматриваем особо умные способы:) ).
Ребята спасибо огромное 3 МК разблокировал с помощью ардуино!!!!!!!!!!!!!!!!!!!!!!!!!!
А теперь заблокируйте их обратно!!
Что-бы потренироватся ;)
И "метод пальца" - опробовать.
Так каким вариантом сигнал генерили "1mHz" или "тупо дергаем ногой абы-как?"
Вы знаете уже заблокировал и разблокировал сново)))) теперь знаю куда пехать свой нос а куда нет))) Пальцем не получаеться)))
Вы знаете уже заблокировал и разблокировал сново)))) теперь знаю куда пехать свой нос а куда нет))) Пальцем не получаеться)))
Ну так скажите другим, кто будет с такой же проблемой сталкиватся, что-бы они тоже знали куда нос пихать.
Какой скетч использовали?
А еще лучше - опишите рецепт детальный для будущих горемык (поверте, не вы последний). Что-бы можно было посылать в поиск - искать вашу тему ;)
Скетч вот здесь брал http://arduino.ru/forum/programmirovanie/generatsiya-vysokochastnykh-impulsov-s-pomoshchyu-arduino-leonardo-atmega32u4#comment-26611 залил в ардуино , с 9 ножки взял и крокодилчиком прицепил на XTAL1 (у меня уже висел RC генератор кварц 16мгц на ногах), в ардуино мониторе ком порта ввел 1000000 и нажал SEND , прочитал МК Фузы изменил как надо , отключил крокодильчик и ардуино! Сохранил скетч! (На всякий пожарный))))))
Короче чтоб без Вас я делал Ребятки!
PS: Сегодня врубит фюзи CKOPT его я снял 500000 HZ при напряжении 3.3в
Ребята помогите пожайлусто с проектом, реально уже забадался, то одно то другое)
Мне просто надо принимать код с приемника и пулять в ком порт, но блин такая фигня получаеться голова кругом
Ссылка на архив в нем есть протеус проект, ардуино проект, прошивка, будте лбезны гляньте где моя ошибка? Архив
1. Все ссылки битые (есть такая волшебная кнопка "Предпросмотр" - можно увидеть как все будет выглядить до поста. Если "все укацалось" - как правило нажатие на кнопку "Источник" (вверху слева, над текстом) помогает вычистить мусор.
2. Непонятно каки образом это относится к тещуйщей теме. Вообщем - не плодите винигрет. Заведите отдельную тему (только нормально назовите). Нормально опишите что вы хотите, что за фигня.... и т.п.