Перейти к содержанию
    

AVR для чайников

Народ, хотелось бы знать, с чего начинать в изучении AVR. Я думаю, каждый сможет дать дельный совет для "чайников" в плане того, как правильно делать первые шаги. Не проходите мимо! Я понимаю, что эта тема встречалсь уже не раз, так дайте хотя бы ссылку. Возможно, это поможет многим начать, да и вообще понять, что ето и с чем ето едятъ. :smile3046:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, хотелось бы знать, с чего начинать в изучении AVR. Я думаю, каждый сможет дать дельный совет для "чайников" в плане того, как правильно делать первые шаги. Не проходите мимо! Я понимаю, что эта тема встречалсь уже не раз, так дайте хотя бы ссылку. Возможно, это поможет многим начать, да и вообще понять, что ето и с чем ето едятъ. :smile3046:

1. Прочитайте ветку AVR полностью, т.е. со страницы 1 и по текущую. Это Вам даст общий кругозор.

2. Ну а на счет первых шагов... трудно что-то сказать. Желательно почитать какую-нибудь книжку. Можно купить, а можно поискать здесь www.natahaus.ru - тут по AVR есть книги.

3. Если владеете английским, почитайте даташиты на МК, примеры применения (application notes). Все это на официальном сайте Atmel. Если с английским плохо, то здесь есть переводы некоторых документов.

 

:bb-offtopic: Ну не называйте Вы себя "чайником". Вы начинающий.)))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, хотелось бы знать, с чего начинать в изучении AVR. Я думаю, каждый сможет дать дельный совет для "чайников" в плане того, как правильно делать первые шаги. Не проходите мимо! Я понимаю, что эта тема встречалсь уже не раз, так дайте хотя бы ссылку. Возможно, это поможет многим начать, да и вообще понять, что ето и с чем ето едятъ. :smile3046:

 

Согласен с haker_fox просмотрите форум, здесь очень много полезного и для новичков тоже, а еще очень полезно читать даташиты на контроллеры, если трудно с английским, то есть книга Евстифеева Микроконтроллеры AVR семейств тини и мега, по сути краткий перевод даташита.

 

ИМХО Такое впечатление, что вопрос задан специально задан для господина kertisa, или как там его сейчас зовут? Опять клон???!!! :angry2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, хотелось бы знать, с чего начинать в изучении AVR.

 

Не проходите мимо!

 

вы сможете скачать 2 инструмента - удобный для начинающих компилятор CodeVisionAVR и симулятор VMLAB - всего менее 8 Мб - и готовый пример. Вы запустите виртуальный МК через пол часа работы. Я считаю что лучше раз увидеть чем сто раз услышать.

 

Со всеми программами идут отличные примеры и подробные Хелпы.

 

Более качественный симулятор электроники и МК это PROTEUS - но он 26 Мб. Зато с ним 210 примеров различных устройств. Вы можете даже в шахматы поиграть с микроконтроллером.

 

Т.е. начните работать в симуляторах , тогда вам не потребуется пока искать компоненты и вы ни чего не сожгете, не испортите.

 

1. Симуляторами, кроме AVRStudio пользоваться не рекомендую. Лучше используйте макетную плату с реальным МК (микроконтроллер), это гораздо интересней, чем рисовать схему в симуляторе (Proteus или VMlab).

2. 2 Kirill_Mash: на счет последнего предложения. Интересно, а что можно сжечь в 5-ти вольтовой схеме??? :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну мнения о достоинствах пресловутого курса уже заняли 12 страниц,

тем не менее выскажусь особо.

Крайне не рекомендую стартовать с CV:

1.Компилятор специфичный для AVR, при желании сделать шаг влево/вправо придется переучиваться.

2.Мастера CV кажуться привлекательными, но новичку крайне желательно начинать с того, чтобы делать все ручками.Тогда придет понимание, что происходит и контроль над процессом.

(не научишься математике, если вместо заучивания таблицы умножния пользоваться калькулятором)

3.Львиная доля вопросов новичков, касается CV в котором они запутались, купившись на мнимую легкость.

О Протеусе:

Т.е. начните работать в симуляторах , тогда вам не потребуется пока искать компоненты и вы ни чего не сожгете, не испортите.

Средний AVR стоит как две пачки сигарет, не такое уже и разорение его спалить (тем более для этого надо крупно постараться). Берем в DIP корпусе, цепляем на макетку, добавляем пару кнопок и светодиодов и в бой. Потом ставим MAX232 и начинаем работать с COM-портом.

Нельзя научиться плавать, отрабатывая технику на суше.

 

Добавлю личное ИМХО - не прельщайтесь всякими навороченными дебаггерами и симуляторами - для старта хватит AVR-студии, а когда начнете чувствовать процессор нутром, смоделировать поведение и найти ошибку хватит головы и листа бумаги.

 

Итак резюмирую:

1.Макетка и Мега16

2.Программатор Avreal - очень простой и очень надежный

3.AVR-студия (ассемблер и отладчик) бесплатно.

4.IAR EWB для AVR (С, ассемблер, отладчик) бесплатный эвалюэйшен дальше можно подлечить.

5.Документация с сайта Атмел, там же примеры.

Разобравшись хотя бы с десятком из них можно уже пробовать реальную задачу.

И самое гланое не бояться - дорогу осилит идущий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы хотите начать работу на СИ, то VMLAB или PROTEUS вам понадобиться. Отладка Си програм в AVRstudio никакой(если не применять отладочные платы). Проще начать с VMLAB. Начал использовать эти программы блогадаря известному товарищу. Пока я доволен. CodeVision есть библиотеки фукций, которые очень помогают. В IAR в эволюшин их нет, помойму(читал гдето на форуме, если не прав поправте). По поводу того , что у новичков много вопросов по CV-у новичков их всегда много, на то он и новичок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Итак резюмирую:

1.Макетка и Мега16

2.Программатор Avreal - очень простой и очень надежный

3.AVR-студия (ассемблер и отладчик) бесплатно.

4.IAR EWB для AVR (С, ассемблер, отладчик) бесплатный эвалюэйшен дальше можно подлечить.

5.Документация с сайта Атмел, там же примеры.

Разобравшись хотя бы с десятком из них можно уже пробовать реальную задачу.

И самое гланое не бояться - дорогу осилит идущий.

 

А я думаю, лучше сразу же начинать с чего-то реального, а именно того, за которое заплатят

денюжку. Потому как желание что-то освоить - хорошо, но мало, надо мотивацию посерьёзнее.

И пускай это реальное будет без особых наворотов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Симуляторами, кроме AVRStudio пользоваться не рекомендую. Лучше используйте макетную плату с реальным МК (микроконтроллер), это гораздо интересней, чем рисовать схему в симуляторе (Proteus или VMlab).

2. 2 Kirill_Mash: на счет последнего предложения. Интересно, а что можно сжечь в 5-ти вольтовой схеме??? :a14:

Сжечь можно все что угодно: два жк дисплея, датчик температуры, ну и ЛПТ порт наконец. ;) И это только из моей практики, правда, вполне возможно, что мне не хватает драйвера для прямых рук. Видимо вам повезло больше...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вы хотите начать работу на СИ, то VMLAB или PROTEUS вам понадобиться.

Простите за резкость, но:

Если вы хотите научится общаться с женщинами - секс по телефону вам не поможет. VMLAB или PROTEUS виртуальны. Они никогда не заменят реальное железо. И мало-мальски серьезные вещи в них тоже не отладишь. Успех в работе очень сильно зависит от умения быстро находить проблемы в реально работающем железе. Ни в каком симуляторе вы не учтете реальный дребезг, помехи, пологие фронты, пульсации питания и наводки, я уже не говорю о банальных ошибках в монтаже. В работе с МК этому надо учиться одновременно с освоением основ программирования.

Отладка Си програм в AVRstudio никакой(если не применять отладочные платы).

Отлаживать С прекрасно можно в ИАРе. Есть такая тулза C-spy.

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

Ну и еще переносимость программ (для МК с серьезными оговорками)

А наилучшим методом отладки С я рискну предположить, просто разбор листингов карандашом на листе бумаги. Хорошо попрактиковавшись в этом, можно научиться писать компактный и предсказуемый код, чувствовать оптимизацию.

CodeVision есть библиотеки фукций, которые очень помогают.

В принципе есть стандартная библиотека С (libc). Она стандартизирована и любой компилятор претендующий на серьезность комплектуется ей. Практически, выходить за ее пределы не есть хорошо, ибо код сделанный таким не будет собираться любым другим компилятором и при отсутствии родного компилятора код будет бесполезен.

(как пример, я никогда не пользуюсь функциями delay(), а на конкретном контроллере запускаю миллисекундный таймер, и отсчитываю задержки по нему - полная гарантия корректной задержки при солидном увеличениии быстродействия)

 

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

 

И наконец в интернете масса свалок с открытыми исходниками на все случаи жизни (в этом разделе тоже)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Честно не понимаю этих отвепов(. Я не говорю о профессиональном знании предмета. Профессианализ приходит с опытом. Я не говорю о написании сложных прогграмм. Я говорю о том с чего помойму надо начинать. Что меня отпугнуло от IAR? Этот же форум, в частности самый верхний топик про IAR. Вы почитайте его внимательно!!!! Там даже профессионалы пишут, что в IAR много настроек которые надо знать. В одном они сходяться , что код получаемый врезультате компактный и правельный. И все !!!

На фига мне новечку этот компактный код. Да ! когда я стану профессионалом я сам перейду наверно на IAR. Вы пишете пробайты которые самому надо писать что-бы понять работу AVR. На фига и это мне знать. Для написание "правельных" байт и создают компиляторы которые этим занимаются и облегчают работу програмисту. На выходе всей работы должна быть программа которая работает. Для этого подойдет любой компилятор. Просто я считаю CV проще в освоении новичку. Очень мало настроек которые надо знать для начала работы. Про VMLAB. Я говорю из личного опыта. Он мне помог. И пока я внем неразочаровался. Написанная программа в СИ работает в VMlabe и нажелезе. Вы предлогаете что там паять. Зачем это начинающему. Надо написать первую программу и посмотреть как она работает и ее отладить. Все это делает VMLAB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

На выходе всей работы должна быть программа которая работает. Для этого подойдет любой компилятор. Просто я считаю CV проще в освоении новичку. Очень мало настроек которые надо знать для начала работы. Про VMLAB. Я говорю из личного опыта. Он мне помог. И пока я внем неразочаровался. Написанная программа в СИ работает в VMlabe и нажелезе. Вы предлогаете что там паять. Зачем это начинающему. Надо написать первую программу и посмотреть как она работает и ее отладить. Все это делает VMLAB.

Паять надо в любом случае. Прекрасно работающая в VMlabe программа может никогда не заработать в железе (софт и хард в случае ембеддед приложений неделимы, по-моему). Что же касается простоты освоения, то еще А.В. Суворов говорил "...тяжело в учении, легко в бою...". Тем, кто намерен серьезно работать необходимо понять, что просто даже кошки не родятся.

Все это конечно IMHO.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На фига мне новечку этот компактный код. Да ! когда я стану профессионалом я сам перейду наверно на IAR. Вы пишете пробайты которые самому надо писать что-бы понять работу AVR. На фига и это мне знать. Для написание "правельных" байт и создают компиляторы которые этим занимаются и облегчают работу програмисту.

Не забывайте, что компиляторы пишут люди, которым свойственно ошибаться. И если, правильно написанный Си-код не заработает, придется смотреть листинг на асме. А не зная асма, что там можно увидеть? Далее, конечно не мое дело, но я вообще не понимаю, а зачем программировать МК, не интересуясь как он работает? Мне вот лично это интересно. Тем более, это как я понял, ваш первый опыть общения с МК, так что не плохо бы и узнать об архитектуре, о командах и т.п.

 

Да ! когда я стану профессионалом я сам перейду наверно на IAR.

Поймите, что Вы не станете профессионалом с таким ходом рассуждения мыслей. Он (профи) растет постепенно. Нельзя стать им просто вдруг!

 

Просто я считаю CV проще в освоении новичку. Очень мало настроек которые надо знать для начала работы. Про VMLAB. Я говорю из личного опыта. Он мне помог. И пока я внем неразочаровался. Написанная программа в СИ работает в VMlabe и нажелезе. Вы предлогаете что там паять. Зачем это начинающему. Надо написать первую программу и посмотреть как она работает и ее отладить. Все это делает VMLAB.

Так и в IAR'е и в GCC скажу, по собственному опыту, не так уж и много нужно настроек сделать.

Даже если программа, сваянная в VMlab, работает, то все-равно от симулятора придется отказаться, рано или поздно, потому, что в один прекрасный день программа может не заработать в реальном железе. А будет здесь банальная причина: Вы в реальном железе забудете подключить питание, кварц, будут какие-нибудь наводки, др.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ, хотелось бы знать, с чего начинать в изучении AVR. Я думаю, каждый сможет дать дельный совет для "чайников" в плане того, как правильно делать первые шаги. Не проходите мимо! Я понимаю, что эта тема встречалсь уже не раз, так дайте хотя бы ссылку. Возможно, это поможет многим начать, да и вообще понять, что ето и с чем ето едятъ. :smile3046:

Хотелось бы знать Ваш начальный уровень. Не зная его, трудно дать какие-либо советы. И, опять же, какие цели Вы преследуете?

Изменено пользователем _Bill

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял,что этот спор бесполезен!! Бесполезен потому, что пока будут стороники IAR(содной стороны) и CodeVision (с друглй стороны) каждый будет отстаивать свою точку зрения, находя постоянно новые аргументы. Помойму не надо спорить ,что лучше. КАждая программа имеет своё назначени и соответственно круг пользователей. И если мне нравиться CV пока меня она устраивает, как новичка, меня никто не переубедить , что она "плохая".

Но меня достают , честно говоря, "профессионалы" со своими рассуждениями.

 

Не забывайте, что компиляторы пишут люди, которым свойственно ошибаться. И если, правильно написанный Си-код не заработает, придется смотреть листинг на асме. А не зная асма, что там можно увидеть? Далее, конечно не мое дело, но я вообще не понимаю, а зачем программировать МК, не интересуясь как он работает? Мне вот лично это интересно. Тем более, это как я понял, ваш первый опыть общения с МК, так что не плохо бы и узнать об архитектуре, о командах и т.п.

 

 

Поймите, что Вы не станете профессионалом с таким ходом рассуждения мыслей. Он (профи) растет постепенно. Нельзя стать им просто вдруг!

 

 

Так и в IAR'е и в GCC скажу, по собственному опыту, не так уж и много нужно настроек сделать.

Даже если программа, сваянная в VMlab, работает, то все-равно от симулятора придется отказаться, рано или поздно, потому, что в один прекрасный день программа может не заработать в реальном железе. А будет здесь банальная причина: Вы в реальном железе забудете подключить питание, кварц, будут какие-нибудь наводки, др.

 

 

Уважаемый haker_fox вы что думаете, что можно собрать устройство не зная как работают его элементы?

Естественно я знаю(вмеру моих сил) и архитектуру и команды. И по необходимости разбераюсь с листингами на ассемблере. Но я хочу уйти от ассемблера, поэтому и перешел на СИ.

 

Я что сказал , что "профессионалом можно стать вдруг". Согласен с вами(стараюсь быть здраво мыслещем человеком), что им сразу стать не возможно. Мало того согласен с тем, что ОН(профессонал) растет постепенно. Вот я и предлагаю идти от простого(CodeVision) к сложному (IAR).

Может еще будет кто спорить, что проще. Все спорят , что "правильнее".

 

Про VMLAB. Слушайте профессионалы, вы что смеетесь. У всех один и тотже аргумент против программы: МОЖЕТ В ОДИН ПРЕКРАСНЫЙ ДЕНЬ ПРОГРАММА ОТЛАЖЕННАЯ В VMLABЕ НЕЗАРАБОТАЕТ.

Вы хоть пластинку поменяйте. Это не аргумент против. Программы отлаженные в VMLABE пока у меня работают и не только у меня(судя по этомуже форуму). И пока они будут работать(программы) вы никого не переубедите

Может сумбурно. За это извините.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...