Как начать осваивать AVR
- Сообщения: 44
- Зарегистрирован: Вт окт 06, 2009 09:03:43
Вопрос с чего начать. Не когда не програмировал контроллеры и не знаю как это делать что начать учить для программирования какие проги для этого надо. на каком языке проще начинать если я не какого не знаю 
- Реклама
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
Рекомендую почитать книгу Евстифеева "Микроконтроллеры AVR фирмы Atmel семейства Tiny и Mega".
Там все написано.
А вообще читайте даташит на МК.
Книг в Интернете много.
насчет языка - какой хотите такой и учите. Все зависит от конкретной задачи.
Ну не будете же вы писать программу обработки UDP enthernet с датчиками сканированя местности на ассемблере... Если там только на Си около десятка тысяч строк выходит...
Там все написано.
А вообще читайте даташит на МК.
Книг в Интернете много.
насчет языка - какой хотите такой и учите. Все зависит от конкретной задачи.
Ну не будете же вы писать программу обработки UDP enthernet с датчиками сканированя местности на ассемблере... Если там только на Си около десятка тысяч строк выходит...
Не умеешь - не берись, но не взявшись не научишься...
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Позволю себе заметить, что на Радиокоте есть прекрасная обучалка по МК AVR.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
ребята такой вопрос, я электронщик аналоговик с 13 лет, с микроконтроллером я разобрался, программатор соброал(Громова),даже зашил первый свой tiny2313.
но вот проблемка, я не програмист,Вопрос, есть ли видеоуроки по AVR. А то по книгам как то непонятно
Как то находил на ютубе ,но там на бусурманском языке мужик обьясняет, а я чистый славянин,
школа английского языка
но вот проблемка, я не програмист,Вопрос, есть ли видеоуроки по AVR. А то по книгам как то непонятно
Как то находил на ютубе ,но там на бусурманском языке мужик обьясняет, а я чистый славянин,
школа английского языка
лучше гнать,чем быть гонимым!
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
на сайт easyelectronics.ru зайди.
Не умеешь - не берись, но не взявшись не научишься...
- Реклама
- Сообщения: 3459
- Зарегистрирован: Ср сен 27, 2006 16:18:57
А скока Вам щас лет?filin писал(а):...я электронщик аналоговик с 13 лет, с микроконтроллером я разобрался...
Короче, ставьте среду разработки CodeVisionAVR, делайте программатор STK200/300, пишИте программы на C и наслаждайтесь жизнью.
А видеоуроки это всё фигня. Сами нормально разберётесь. По крайней мере, здесь спрОсите.
лучше гнать,чем быть гонимым!
- Сообщения: 3459
- Зарегистрирован: Ср сен 27, 2006 16:18:57
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Вот не надо с С. Начинать надо с ассемблера. И только когда в голове прочно уложится, как все работает на низком уровне, можно переходить на языки высокого уровня - такой порядок изучения сбережет много времени и нервов. И таки да, easyelectronics.ru рулит. А для самого начала - еще раз говорю, обучалка по AVR тут очень хорошая. Не понимаю, почему все ее упорно игнорируют.
CodeVisionAVR тоже не советую. Разнообразные тулзы, предназначенные для облегчения умственного труда можно начинать использовать только тогда, когда разобрался, как это делается руками. Пока же у вопрошающего как раз стоит цель разобраться.
Так что ИМХО - сейчас в здешнюю Обучалку, когда начнете что-то понимать - на easyelectronics.
CodeVisionAVR тоже не советую. Разнообразные тулзы, предназначенные для облегчения умственного труда можно начинать использовать только тогда, когда разобрался, как это делается руками. Пока же у вопрошающего как раз стоит цель разобраться.
Так что ИМХО - сейчас в здешнюю Обучалку, когда начнете что-то понимать - на easyelectronics.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
А почему никто не советует начинать с дискретной математики, основ цифровой электроники, микросхемотехники? Только имея четко уложеные знания фундаментальных вещей можно очень легко и быстро осваивать всё новые прикладные. По себе сужу - поднимите фундаментаьлные понятия, освойте самые-самые основы предмета "в совершенстве", и дело пойдет как лом через говно (с)
А иначе без четкого представления что как и почему можно за всю жизнь и научится только светодиодами моргать и на единственном изученом контроллере
- Сообщения: 3459
- Зарегистрирован: Ср сен 27, 2006 16:18:57
YS, а Вы сами какой средой разработки пользуетесь? И не могли бы привести примеры Ваших разработок?
Лично я пользуюсь тем, что советовал. И ещё бессовестно пользуюсь встроенным мастером создания кода в CodeVisionAVR. И вполне сознательно в своё время искал среду разработки именно где можно писать на языке высокого уровня, чтобы не изучать ещё один ассемблер до кучи к тем ассемблерам, которыми уже наелся...
Лично я пользуюсь тем, что советовал. И ещё бессовестно пользуюсь встроенным мастером создания кода в CodeVisionAVR. И вполне сознательно в своё время искал среду разработки именно где можно писать на языке высокого уровня, чтобы не изучать ещё один ассемблер до кучи к тем ассемблерам, которыми уже наелся...
Я начинал с Ассемблера когда-то. Писал простенькие программки для проца Z80 (новичкам не советую, так как башку свинтить может) Микроконтроллеры начал осваивать недавно (весной этого года) в нашем городишке элементарный транзистор купить негде, чего уж говорить о покупке МК.
И как-то мне досталась на халяву огромная куча 26х тинек, десяток мег 32х и парочка ПЛИСов.
Вот я и принялся за них.
Начал освоение МК именно с этого сайта. Так-как навыки по ассемблеру уже были, то
быстро освоился. Си я знал, но под ПК. Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR. Тогда легче намного будет после ассемблера. Тем более
сложные задачи писать на ассемблере сложнее. Можно сильно запутаться. А вот на Си проще будет. Мой совет - начинай изучать ассемблер и писать простые программы. Потом, после достаточного набора навыков, рекомендую изучить Си. Знать желательно оба языка.
Из софта: Самое простое - AVR Studio. Программатор - хватит и Громова в сочетании с UniProf.
Обучалка есть тут, на этом сайте. Есть тут и форум, где помогут.
К стати, моей первой программой была не мигалка, а охранный прибор с прибамбасами типа
сопряжения с компом через параллельную шину.
И как-то мне досталась на халяву огромная куча 26х тинек, десяток мег 32х и парочка ПЛИСов.
Вот я и принялся за них.
Начал освоение МК именно с этого сайта. Так-как навыки по ассемблеру уже были, то
быстро освоился. Си я знал, но под ПК. Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR. Тогда легче намного будет после ассемблера. Тем более
сложные задачи писать на ассемблере сложнее. Можно сильно запутаться. А вот на Си проще будет. Мой совет - начинай изучать ассемблер и писать простые программы. Потом, после достаточного набора навыков, рекомендую изучить Си. Знать желательно оба языка.
Из софта: Самое простое - AVR Studio. Программатор - хватит и Громова в сочетании с UniProf.
Обучалка есть тут, на этом сайте. Есть тут и форум, где помогут.
К стати, моей первой программой была не мигалка, а охранный прибор с прибамбасами типа
сопряжения с компом через параллельную шину.
I am DX168B and this is my favourite forum on internet!
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Использую AVR Studio с интеграцией в нее же WinAVR (AVR-GCC). CodeVisionAVR пробовал, не понравилось. Но тут, понятно, на вкус и цвет все фломастеры разные.YS, а Вы сами какой средой разработки пользуетесь? И не могли бы привести примеры Ваших разработок?
Я тоже пользуюсь тем, что советовал.
Для небольших проектов (вроде собранного на коленке Mega3D) обычно использую ассемблер (но в последнее время обленился
Кодогенераторы не использую - мне проще скопипастить кусок, скажем, инициализации UART'а из какого-нибудь своего проекта и поправить пару цифр (а чаще ничего не править, я обычно использую одни и те же параметры соединения в разных проектах), чем тыкать галочки, а потом приводить сгенерированный код к виду, который мне понравится.
Почему я рекомендую для начала изучать ассемблер? Потому, что он дает наиболее полное представление о том, что происходит на самом низком уровне. А без этого понимания, во-первых, сложно спроектировать что-то сложнее бегущего огонька, а, во-вторых, могут встретиться большие сложности в отладке проетов на языках высокого уровня. Например, в таком духе. Поэтому, когда нет особых требований к работоспособности кода, писать можно хоть на С, хоть на МикроПаскале, хоть на чем угодно, и использовать любые костыли и кодогенераторы. Но при создании чего-то серьезнее мигалки, ассемблер знать очень желательно, а порой без него и вообще не обойтись (точный отсчет малых временных интервалов, реализация экзотических протоколов, и т.п.).
Автор вроде говорит, что проблема только с программированием. Ну, предполагается, что с остальной матчастью все в порядке.А почему никто не советует начинать с дискретной математики, основ цифровой электроники, микросхемотехники?
Ну, не так уж он и нуден.Сразу говорю, ассемблер нуден, но начинать советую
именно с него. Потому, что только так ты поймёшь - как он (МК) работает. После извратов на АСМе
можно начинать изучать Си для AVR.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
Опять холиварство начинается...
Я тоже си не любил, обожал ассемблер, но обстоятельства просто заставили меня переходить на Си... для ARM...
Я тоже си не любил, обожал ассемблер, но обстоятельства просто заставили меня переходить на Си... для ARM...
Не умеешь - не берись, но не взявшись не научишься...
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Помилуйте, какой холивар? Я не говорю, что ASM лучше C, что C лучше Basic, я всего лишь говорю, что ассемблер надо знать для полного понимания процессов, происходящих в железе. А реальные проекты писать стоит на том языке, на котором удобнее в данный момент. И я большую часть кода сейчас пишу на С. Но знание ассемблера здорово помогает в отладке.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Кстати, есть ведь еще МК, у которых нет RAM - под них написание прошивок на С сопряжено с использованием чрезвычайно экзотических приемов. А на асме все спокойно пишется... 
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Верно, знать надо оба языка. И писать исходя из поставленной задачи. 
К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
I am DX168B and this is my favourite forum on internet!
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Удобную IDE сделали мужики из Atmel!К стати, я тоже работаю с AVR Studio в интеграции с WinAVR.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Угу.
Только неудобно наблюдать за регистрами при отладке на мониторе с разрешением 1024x768. Не влезает. А в остальном всё отлично.
I am DX168B and this is my favourite forum on internet!
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Не, я там не отлаживаю. Разве только какой-то совсем крохотный участок кода. А так - Proteus/VMLAB, а чаще сразу макетка с ATmega48 (мой основной МК).
Кстати, а как в отладчике AVR Studio поменять частоту МК?
Кстати, а как в отладчике AVR Studio поменять частоту МК?
Разница между теорией и практикой на практике гораздо больше, чем в теории.


