Как начать осваивать AVR

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Открыл глаза
Сообщения: 44
Зарегистрирован: Вт окт 06, 2009 09:03:43

Сообщение fersa »

Вопрос с чего начать. Не когда не програмировал контроллеры и не знаю как это делать что начать учить для программирования какие проги для этого надо. на каком языке проще начинать если я не какого не знаю :)
Реклама
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Рекомендую почитать книгу Евстифеева "Микроконтроллеры AVR фирмы Atmel семейства Tiny и Mega".
Там все написано.
А вообще читайте даташит на МК.
Книг в Интернете много.
насчет языка - какой хотите такой и учите. Все зависит от конкретной задачи.
Ну не будете же вы писать программу обработки UDP enthernet с датчиками сканированя местности на ассемблере... Если там только на Си около десятка тысяч строк выходит...
Не умеешь - не берись, но не взявшись не научишься...
Реклама
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Позволю себе заметить, что на Радиокоте есть прекрасная обучалка по МК AVR.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 27
Зарегистрирован: Чт ноя 05, 2009 23:24:14
Откуда: мариупоь

Сообщение filin »

ребята такой вопрос, я электронщик аналоговик с 13 лет, с микроконтроллером я разобрался, программатор соброал(Громова),даже зашил первый свой tiny2313.
но вот проблемка, я не програмист,Вопрос, есть ли видеоуроки по AVR. А то по книгам как то непонятно
Как то находил на ютубе ,но там на бусурманском языке мужик обьясняет, а я чистый славянин,






















школа английского языка
лучше гнать,чем быть гонимым!
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

на сайт easyelectronics.ru зайди.
Не умеешь - не берись, но не взявшись не научишься...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

filin писал(а):...я электронщик аналоговик с 13 лет, с микроконтроллером я разобрался...
А скока Вам щас лет? :)
Короче, ставьте среду разработки CodeVisionAVR, делайте программатор STK200/300, пишИте программы на C и наслаждайтесь жизнью.
А видеоуроки это всё фигня. Сами нормально разберётесь. По крайней мере, здесь спрОсите.
Реклама
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 27
Зарегистрирован: Чт ноя 05, 2009 23:24:14
Откуда: мариупоь

Сообщение filin »

лучше гнать,чем быть гонимым!
Друг Кота
Аватара пользователя
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Значит, Вы ещё не испорчены. Начните с языка C.
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Вот не надо с С. Начинать надо с ассемблера. И только когда в голове прочно уложится, как все работает на низком уровне, можно переходить на языки высокого уровня - такой порядок изучения сбережет много времени и нервов. И таки да, easyelectronics.ru рулит. А для самого начала - еще раз говорю, обучалка по AVR тут очень хорошая. Не понимаю, почему все ее упорно игнорируют. :dont_know:

CodeVisionAVR тоже не советую. Разнообразные тулзы, предназначенные для облегчения умственного труда можно начинать использовать только тогда, когда разобрался, как это делается руками. Пока же у вопрошающего как раз стоит цель разобраться.

Так что ИМХО - сейчас в здешнюю Обучалку, когда начнете что-то понимать - на easyelectronics.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Мучитель микросхем
Сообщения: 429
Зарегистрирован: Пт ноя 20, 2009 20:38:12
Откуда: Калининград (Koenigsberg)

Сообщение FlySnake »

А почему никто не советует начинать с дискретной математики, основ цифровой электроники, микросхемотехники? Только имея четко уложеные знания фундаментальных вещей можно очень легко и быстро осваивать всё новые прикладные. По себе сужу - поднимите фундаментаьлные понятия, освойте самые-самые основы предмета "в совершенстве", и дело пойдет как лом через говно (с) :) А иначе без четкого представления что как и почему можно за всю жизнь и научится только светодиодами моргать и на единственном изученом контроллере
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

YS, а Вы сами какой средой разработки пользуетесь? И не могли бы привести примеры Ваших разработок?
Лично я пользуюсь тем, что советовал. И ещё бессовестно пользуюсь встроенным мастером создания кода в CodeVisionAVR. И вполне сознательно в своё время искал среду разработки именно где можно писать на языке высокого уровня, чтобы не изучать ещё один ассемблер до кучи к тем ассемблерам, которыми уже наелся...
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Я начинал с Ассемблера когда-то. Писал простенькие программки для проца Z80 (новичкам не советую, так как башку свинтить может) Микроконтроллеры начал осваивать недавно (весной этого года) в нашем городишке элементарный транзистор купить негде, чего уж говорить о покупке МК.
И как-то мне досталась на халяву огромная куча 26х тинек, десяток мег 32х и парочка ПЛИСов.
Вот я и принялся за них.
Начал освоение МК именно с этого сайта. Так-как навыки по ассемблеру уже были, то
быстро освоился. Си я знал, но под ПК. Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR. Тогда легче намного будет после ассемблера. Тем более
сложные задачи писать на ассемблере сложнее. Можно сильно запутаться. А вот на Си проще будет. Мой совет - начинай изучать ассемблер и писать простые программы. Потом, после достаточного набора навыков, рекомендую изучить Си. Знать желательно оба языка.
Из софта: Самое простое - AVR Studio. Программатор - хватит и Громова в сочетании с UniProf.
Обучалка есть тут, на этом сайте. Есть тут и форум, где помогут.
К стати, моей первой программой была не мигалка, а охранный прибор с прибамбасами типа
сопряжения с компом через параллельную шину.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

YS, а Вы сами какой средой разработки пользуетесь? И не могли бы привести примеры Ваших разработок?
Использую AVR Studio с интеграцией в нее же WinAVR (AVR-GCC). CodeVisionAVR пробовал, не понравилось. Но тут, понятно, на вкус и цвет все фломастеры разные.

Я тоже пользуюсь тем, что советовал. :)

Для небольших проектов (вроде собранного на коленке Mega3D) обычно использую ассемблер (но в последнее время обленился :) ). Для чего посерьезней - C. При этом для критичных по времени участков (вроде функций для поддержки 1Wire) не гнушаюсь вставками/модулями на ассемблере. Да, кроме Mega3D ничем общественно-полезным я пока не отметился - в основном либо что-то мелкое для собственного использования, не представляющее интереса для широких масс, либо коммерческие разработки (в настоящее время в процессе сборка тестового образца "бюджетной" измерительной системы для школьной физической лаборатории, заказ родной школы; тут прошивка писана на С).

Кодогенераторы не использую - мне проще скопипастить кусок, скажем, инициализации UART'а из какого-нибудь своего проекта и поправить пару цифр (а чаще ничего не править, я обычно использую одни и те же параметры соединения в разных проектах), чем тыкать галочки, а потом приводить сгенерированный код к виду, который мне понравится. :)

Почему я рекомендую для начала изучать ассемблер? Потому, что он дает наиболее полное представление о том, что происходит на самом низком уровне. А без этого понимания, во-первых, сложно спроектировать что-то сложнее бегущего огонька, а, во-вторых, могут встретиться большие сложности в отладке проетов на языках высокого уровня. Например, в таком духе. Поэтому, когда нет особых требований к работоспособности кода, писать можно хоть на С, хоть на МикроПаскале, хоть на чем угодно, и использовать любые костыли и кодогенераторы. Но при создании чего-то серьезнее мигалки, ассемблер знать очень желательно, а порой без него и вообще не обойтись (точный отсчет малых временных интервалов, реализация экзотических протоколов, и т.п.).
А почему никто не советует начинать с дискретной математики, основ цифровой электроники, микросхемотехники?
Автор вроде говорит, что проблема только с программированием. Ну, предполагается, что с остальной матчастью все в порядке. :)
Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR.
Ну, не так уж он и нуден. :) +1.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Опять холиварство начинается...
Я тоже си не любил, обожал ассемблер, но обстоятельства просто заставили меня переходить на Си... для ARM...
Не умеешь - не берись, но не взявшись не научишься...
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Помилуйте, какой холивар? Я не говорю, что ASM лучше C, что C лучше Basic, я всего лишь говорю, что ассемблер надо знать для полного понимания процессов, происходящих в железе. А реальные проекты писать стоит на том языке, на котором удобнее в данный момент. И я большую часть кода сейчас пишу на С. Но знание ассемблера здорово помогает в отладке.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Кстати, есть ведь еще МК, у которых нет RAM - под них написание прошивок на С сопряжено с использованием чрезвычайно экзотических приемов. А на асме все спокойно пишется... :idea:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Верно, знать надо оба языка. И писать исходя из поставленной задачи. :)
К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
Удобную IDE сделали мужики из Atmel! :beer:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 4468
Зарегистрирован: Вс янв 24, 2010 19:19:52
Откуда: Главный Улей России (Moscow)

Сообщение DX168B »

Угу. :) Только неудобно наблюдать за регистрами при отладке на мониторе с разрешением 1024x768. Не влезает. А в остальном всё отлично.
I am DX168B and this is my favourite forum on internet!
Контактная информация:
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Не, я там не отлаживаю. Разве только какой-то совсем крохотный участок кода. А так - Proteus/VMLAB, а чаще сразу макетка с ATmega48 (мой основной МК).

Кстати, а как в отладчике AVR Studio поменять частоту МК? :oops:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Ответить

Вернуться в «Теория»