[an error occurred while processing this directive]
Ответ: Вообще то все зависит от того, насколько серьезно Вы собираетесь этим заниматься.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 11 ноября 2002 г. 09:04
В ответ на: Скажу честно, опыта в программировании нет вообще :0( отправлено ink 10 ноября 2002 г. 22:13

Если Вы работаете (или работали раньше) с цифровой техникой, то Вам будет проще.
Я начилал работать с микропроцессорами с "железа", когда приходилось писать программы не то что на ассемблере, а в шестнадцатеричных кодах. Есл Вы не имеете опыта программирования, то лучше начинать с ассемблера. Так Вы лучше прочуствуете, что за зверь этот контроллер. По мере накопления опыта у Вас появится необходимость писать более сложные программы, тогда скорей всего Вам потребуется перейти на язык высокого уровня. Какой конкретно - не имеет значения. Лично для меня удобней пользоваться Си. Это самый распространенный язык.
Когда меня спрашивают с чего начинать, я обычно говорю нужно начинать с начала. А если серьезно, то начинать нужно с изучения архитектуры микроконтроллера. Здесь следует иметь в виду, что различные микроконтроллеры отличаются друг от друга в основном именно архитектурой процессора. Все остальное, что имеется на кристалле (порты ВВ, таймеры, интерфейсы и т.д.) не имеет большого значения, поскольку различные контроллеры в отношении периферии различаются между собой даже внутри одного какого-то семейства.
С какого контроллера следует начинать, тоже не имеет большого значения. Все познается в сравнении, поэтому на мой взгляд лучше взять архитектуру не одного какого-то процессора, рассмотреть хотя бы два. Наиболее распространенные в Росии архитектуры это PIC, AVR, MCS-51, MSP430. На мой взгляд лучше выбрать пару AVR и PIC (с учетом того, что у Вас предполается работа с аппратурой на PICах). На мой взгляд это примерно одинаковые (в смысле производительности) 8-ми разрядные контроллеры, хотя я чуствую себя комфортней работая с AVR.
На что следует обращать внимание при изучении той или иной архитектуры. В первую очередь я обычно смотрю на регистровую организацю процессора (количество регистров, их разрядность, функциональное назначение, флажки и т.д.). Далее я смотрю какие методы адресации имеются. Потом разбираю систему команд. Здесь удобно разбить команды на разные группы: арифметические, логические, сдвига, пересылки, работы с битами. Потом я смотрю на организацию стека и системы прерываний.
Если сравнивать семейства AVR и PIC, то PIC имеет более простую архитектуру, более легкую для изучения. Но за эту простоту приходится платить. Чем и как это зависит от разработчика, решаемой задачи и т.д.
AVR имеет более сложную архитектуру и несколько сложнее в изучении, но изучив AVR можно легко потом перейти или на PIC, или на MSP430, или на Fujitsu, или на ... В любои случае нужно помнить, что хотя есть много контроллеров хороших и разных, но идеального не существует. Мой совет. Даже если Вы выберите какой-то оди тип контроллера и начнете работать с ним практически, то хотя бы теоретически посматривайте как можно задачу, решаемую с помощью выбранного контроллера, решить на другом контроллере.
Теперь о практике. Прежде всего Вам понадобится система программировани (среда для проектирования программ). Каждая фирма, выпускающая контроллеры, предлагает такие системы. Например, для AVR - AVRstudio, для PIC - MPLAB, и т.д. Такие системы дадут Вам возможность писать программы на ассемблере и прогонять их на прилагаемых программных эмуляторах (в составе системы).
Далее, если Вы захотите перейти к "железу", тогда Вам понадобится какой-либо программатор для прошивки контроллера. Это тоже не проблема. Их имеется великое множество. Хотите - делайте сами, хотите - купите готовый. Из "железа" можно выбрать либо какую-нибудь готовую оценочную плату, либо собрать простейшую схему самому, хотя бы на макетной плате.
Начальные программы тоже обычно простые: управлять светодиодами, подключенными к портам ВВ, опрашивать кнопки и т.д. На сайтах у производителей подобные программы есть. Кроме того, там же Вы можете найти множество заметок по применению (Application notes), в которых описывается решение типичных задач. И, там же, имеется документация (Datasheets) по интересующему Вас контроллеру. Как правило, на английском языке. Вот пожалуй и все. Если будут какие-то вопросы, можете смело задавать их здесь на форуме. Народ здесь грамотный, всегда помогут. Ну и я в том числе, чем смогу.
Желаю успехов в новом интересном и по началу немножко трудном деле.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru