Страница 1 из 2
Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 11:50:58
fersa
Вопрос с чего начать. Не когда не програмировал контроллеры и не знаю как это делать что начать учить для программирования какие проги для этого надо. на каком языке проще начинать если я не какого не знаю

Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 12:57:43
Arlleex
Рекомендую почитать книгу Евстифеева "Микроконтроллеры AVR фирмы Atmel семейства Tiny и Mega".
Там все написано.
А вообще читайте даташит на МК.
Книг в Интернете много.
насчет языка - какой хотите такой и учите. Все зависит от конкретной задачи.
Ну не будете же вы писать программу обработки UDP enthernet с датчиками сканированя местности на ассемблере... Если там только на Си около десятка тысяч строк выходит...
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 17:11:48
YS
Позволю себе заметить, что на Радиокоте есть прекрасная обучалка по МК AVR.
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 21:57:34
filin
ребята такой вопрос, я электронщик аналоговик с 13 лет, с микроконтроллером я разобрался, программатор соброал(Громова),даже зашил первый свой tiny2313.
но вот проблемка, я не програмист,Вопрос, есть ли видеоуроки по AVR. А то по книгам как то непонятно
Как то находил на ютубе ,но там на бусурманском языке мужик обьясняет, а я чистый славянин,
школа английского языка
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 22:08:27
Arlleex
на сайт easyelectronics.ru зайди.
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 22:16:55
Барсик
filin писал(а):...я электронщик аналоговик с 13 лет, с микроконтроллером я разобрался...
А скока Вам щас лет?

Короче, ставьте среду разработки CodeVisionAVR, делайте программатор STK200/300, пишИте программы на C и наслаждайтесь жизнью.
А видеоуроки это всё фигня. Сами нормально разберётесь. По крайней мере, здесь спрОсите.
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 22:21:47
filin
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 22:50:16
Барсик
Значит, Вы ещё не испорчены. Начните с языка C.
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 23:10:34
YS
Вот не надо с С. Начинать надо с ассемблера. И только когда в голове прочно уложится, как все работает на низком уровне, можно переходить на языки высокого уровня - такой порядок изучения сбережет много времени и нервов. И таки да, easyelectronics.ru рулит. А для самого начала - еще раз говорю, обучалка по AVR тут очень хорошая. Не понимаю, почему все ее упорно игнорируют.
CodeVisionAVR тоже не советую. Разнообразные тулзы, предназначенные для облегчения умственного труда можно начинать использовать только тогда, когда разобрался, как это делается руками. Пока же у вопрошающего как раз стоит цель разобраться.
Так что ИМХО - сейчас в здешнюю Обучалку, когда начнете что-то понимать - на easyelectronics.
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 23:37:27
FlySnake
А почему никто не советует начинать с дискретной математики, основ цифровой электроники, микросхемотехники? Только имея четко уложеные знания фундаментальных вещей можно очень легко и быстро осваивать всё новые прикладные. По себе сужу - поднимите фундаментаьлные понятия, освойте самые-самые основы предмета "в совершенстве", и дело пойдет как лом через говно (с)

А иначе без четкого представления что как и почему можно за всю жизнь и научится только светодиодами моргать и на единственном изученом контроллере
Re: Как начать осваивать AVR
Добавлено: Вс авг 08, 2010 23:42:07
Барсик
YS, а Вы сами какой средой разработки пользуетесь? И не могли бы привести примеры Ваших разработок?
Лично я пользуюсь тем, что советовал. И ещё бессовестно пользуюсь встроенным мастером создания кода в CodeVisionAVR. И вполне сознательно в своё время искал среду разработки именно где можно писать на языке высокого уровня, чтобы не изучать ещё один ассемблер до кучи к тем ассемблерам, которыми уже наелся...
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 01:03:41
DX168B
Я начинал с Ассемблера когда-то. Писал простенькие программки для проца Z80 (новичкам не советую, так как башку свинтить может) Микроконтроллеры начал осваивать недавно (весной этого года) в нашем городишке элементарный транзистор купить негде, чего уж говорить о покупке МК.
И как-то мне досталась на халяву огромная куча 26х тинек, десяток мег 32х и парочка ПЛИСов.
Вот я и принялся за них.
Начал освоение МК именно с этого сайта. Так-как навыки по ассемблеру уже были, то
быстро освоился. Си я знал, но под ПК. Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR. Тогда легче намного будет после ассемблера. Тем более
сложные задачи писать на ассемблере сложнее. Можно сильно запутаться. А вот на Си проще будет. Мой совет - начинай изучать ассемблер и писать простые программы. Потом, после достаточного набора навыков, рекомендую изучить Си. Знать желательно оба языка.
Из софта: Самое простое - AVR Studio. Программатор - хватит и Громова в сочетании с UniProf.
Обучалка есть тут, на этом сайте. Есть тут и форум, где помогут.
К стати, моей первой программой была не мигалка, а охранный прибор с прибамбасами типа
сопряжения с компом через параллельную шину.
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 01:39:01
YS
YS, а Вы сами какой средой разработки пользуетесь? И не могли бы привести примеры Ваших разработок?
Использую AVR Studio с интеграцией в нее же WinAVR (AVR-GCC). CodeVisionAVR пробовал, не понравилось. Но тут, понятно, на вкус и цвет все фломастеры разные.
Я тоже пользуюсь тем, что советовал.
Для небольших проектов (вроде собранного на коленке
Mega3D) обычно использую ассемблер (но в последнее время обленился

). Для чего посерьезней - C. При этом для критичных по времени участков (вроде функций для поддержки 1Wire) не гнушаюсь вставками/модулями на ассемблере. Да, кроме Mega3D ничем общественно-полезным я пока не отметился - в основном либо что-то мелкое для собственного использования, не представляющее интереса для широких масс, либо коммерческие разработки (в настоящее время в процессе сборка тестового образца "бюджетной" измерительной системы для школьной физической лаборатории, заказ родной школы; тут прошивка писана на С).
Кодогенераторы не использую - мне проще скопипастить кусок, скажем, инициализации UART'а из какого-нибудь своего проекта и поправить пару цифр (а чаще ничего не править, я обычно использую одни и те же параметры соединения в разных проектах), чем тыкать галочки, а потом приводить сгенерированный код к виду, который мне понравится.
Почему я рекомендую для начала изучать ассемблер? Потому, что он дает наиболее полное представление о том, что происходит на самом низком уровне. А без этого понимания, во-первых, сложно спроектировать что-то сложнее бегущего огонька, а, во-вторых, могут встретиться большие сложности в отладке проетов на языках высокого уровня. Например,
в таком духе. Поэтому, когда нет особых требований к работоспособности кода, писать можно хоть на С, хоть на МикроПаскале, хоть на чем угодно, и использовать любые костыли и кодогенераторы. Но при создании чего-то серьезнее мигалки, ассемблер знать очень желательно, а порой без него и вообще не обойтись (точный отсчет малых временных интервалов, реализация экзотических протоколов, и т.п.).
А почему никто не советует начинать с дискретной математики, основ цифровой электроники, микросхемотехники?
Автор вроде говорит, что проблема только с программированием. Ну, предполагается, что с остальной матчастью все в порядке.
Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR.
Ну, не так уж он и нуден.
+1.
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 01:46:20
Arlleex
Опять холиварство начинается...
Я тоже си не любил, обожал ассемблер, но обстоятельства просто заставили меня переходить на Си... для ARM...
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 01:53:52
YS
Помилуйте, какой холивар? Я не говорю, что ASM лучше C, что C лучше Basic, я всего лишь говорю, что ассемблер надо знать для полного понимания процессов, происходящих в железе. А реальные проекты писать стоит на том языке, на котором удобнее в данный момент. И я большую часть кода сейчас пишу на С. Но знание ассемблера здорово помогает в отладке.
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 02:01:55
YS
Кстати, есть ведь еще МК, у которых нет RAM - под них написание прошивок на С сопряжено с использованием чрезвычайно экзотических приемов. А на асме все спокойно пишется...

Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 02:04:33
DX168B
Верно, знать надо оба языка. И писать исходя из поставленной задачи.

К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 02:10:43
YS
К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
Удобную IDE сделали мужики из Atmel!

Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 02:19:01
DX168B
Угу.

Только неудобно наблюдать за регистрами при отладке на мониторе с разрешением 1024x768. Не влезает. А в остальном всё отлично.
Re: Как начать осваивать AVR
Добавлено: Пн авг 09, 2010 02:24:10
YS
Не, я там не отлаживаю. Разве только какой-то совсем крохотный участок кода. А так - Proteus/VMLAB, а чаще сразу макетка с ATmega48 (мой основной МК).
Кстати, а как в отладчике AVR Studio поменять частоту МК?
