Подтвердить что ты не робот

AVR или PIC для запуска программирования микроконтроллера?

Какую семью мне следует начинать учиться? (Никогда не программирование на микроконтроллере)

4b9b3361

Ответ 1

Сегодня AVR и PIC, вероятно, являются наиболее распространенными микроконтроллерами среди любителей. Оба варианта имеют очень широкий диапазон вариантов устройства, и оба могут быть использованы для достижения аналогичных результатов.

Для новичков я предлагаю AVR по различным причинам:

  • Семейство AVR (крошечное, мега) является связным и понятным. Архитектура является мощной и современной и особенно подходит для компиляторов C. Конечно, AVR могут быть запрограммированы и в сборке.

  • Благодаря своей C-дружественной архитектуре есть качественные компиляторы C, доступные как коммерческие, так и бесплатные. Вездесущий GCC портируется в AVR и называется avr-gcc.

  • Для начала все, что вам действительно нужно, это несколько основных компонентов, сам чип AVR и breadboard. Даже программный кабель между ПК и AVR может быть построен практически бесплатно (так называемый вигглер). Тем не менее, доступно несколько комплектов коммерческой разработки, в первую очередь Atmel, STK500. Коммерческий комплект разработки - более дорогой способ начать работу, но не требует практически никаких предварительных знаний об электронике. Некоторые комплекты разработки содержат, например, ЖК-дисплеи, поэтому легко получить интересный материал.

  • У этого сообщества богатое сообщество любителей.

PIC известен своей своеобразной архитектурой. Многие любят ПИК для этого, некоторые ненавидят его. AVR более прямолинейна и, по-видимому, не вызывает стольких крайних и полярных мнений.

Оба AVR и PIC используются во многих серьезных коммерческих приложениях. Однако, конечно, это не единственные варианты. Мой личный любимый микроконтроллер для хобби и коммерческой работы - семейство C8051 Silicon Laboratories, в первую очередь C8051 F530. Существует отличный бесплатный компилятор C и ассемблер для семейства C8051, называемый SDCC.

Резюме: Есть много вариантов, но, пожалуйста, не позволяйте этому подавлять вас. Просто выберите один и начните учиться с ним. Микроконтроллеры, действительно, удивительно легко освоить, как только вы просто решаете идти!

Ответ 2

Мой босс взял основы с помощью AVR в течение недели без предварительного опыта.

Ответ 3

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

Ответ 4

Я очень предпочитаю AVR над ПОС, чья архитектура я считаю немного беспорядочной. Это может быть только я, и это не будет беспокоить вас, если вы сможете писать на языке высокого уровня, скорее всего (какой-то диалект) C.

Поскольку вы новичок в микроконтроллерах, я предполагаю, что производительность не будет проблемой, поэтому вместо этого я буду искать доступность инструментов для разработки: прототипы, IDE и инструменты моделирования/отладки. Лично мне понравилась AVR Studio (Atmel free development environment).

Джейсон упоминает TI MSP430, который действительно является отличным контроллером, особенно если вы находитесь в приложениях с очень низким энергопотреблением. Но я бы не рекомендовал его для новичков, так как конфигурация немного громоздка. (Я помню, что описание осциллятора охватывало более 20 страниц в руководстве пользователя.)

Ответ 5

Некоторые люди прокомментировали странную (и недружественную) архитектуру микропроцессора PIC. Это относится к меньшим ПОС, но 16-разрядные чипы (PIC24F, dsPIC30 и т.д.) Имеют очень четкие архитектуры, которые очень хорошо работают с C.

Линия PIC24F имеет возможность назначать булавки для функций (таймеры, A/D, последовательный ввод-вывод) на лету, что упрощает проектирование. Окружающая среда MPLAB для отладки и разработки довольно приятна.

Ответ 6

Я не понимаю, в чем дело с ардуином, оно разрушит ваши шансы когда-либо понять, что на самом деле происходит. Я регулярно программирую AVR и PIC, в основном нет большой разницы, я не вижу, что такое большая проблема. Однако для новичков держаться подальше от arduino, это может быть просто, но это ловушка, это не дает вам никакого понятия об аппаратной архитектуре и не знает, что происходит за кулисами, новичкам нужно научиться быть эффективным программистом. Когда я был новичком, я начал с ATmega32 программиста USBasp 20 долларов, AVR Studio (Free) и AVRDude (поставляется с WinAVR), и последовал за учебниками в AVR Freaks. Это все, что вам нужно, Готово!!!

P.S. Если вы хотите научиться программировать микрофоны и научиться ассемблеру для своего микрофона, вы будете 20 раз программистом C, чем кто-то, кто начал использовать arduino.

Ответ 7

Я проделал некоторое программирование PIC - в основном потому, что мне понравилась идея, что чип был всего лишь долларом или двумя. Однако для новичков принятие решения исключительно по цене является преждевременной оптимизацией.

Программирование на ассемблере - это опыт. В основном вы должны узнать о 100 концепциях, прежде чем сможете мигать светодиодом. (Сторожевой таймер, контакты reset, 8-битные счетчики/переполнения, циклы задержки, шестнадцатеричные, двоичные, битовые маски, прерывания, запросы на прерывание, порты ввода-вывода и т.д.). Все это очень учебное - и возникает большое чувство так близко к машине - но возможность кодировать что-то в C скроет часть этой сложности, чтобы вы могли сосредоточиться на результатах. По этой причине я бы сказал, пойти с AVR. (И я считаю, что цены сейчас ближе к ПОС.)

Также: Если вы заинтересованы в том, чтобы все было сделано (и не прочь потратить ~ 30 долларов США), проверьте arduino, Парень, продающий их в моем местном магазине электроники, говорил, что он продает тонны из них студентам искусства. (Он использует IDE из проекта Processing и компилирует код с avr-gcc.)

Обновление: Исправлен комментарий, что Arduino запускает интерпретируемый код. Также обновлена ​​цена на Arduino.

Ответ 8

Я проголосовал за TI MSP430. Я широко использовал PIC (также немного чипы Atmel), и, безусловно, для меня самое важное - хорошая среда для отладки. TI неплохо справился с этим, и их компилятор С++ работает очень хорошо. Вы можете получить плату за оценку менее чем за $100, включая IDE + USB-отладчик. У ПОС есть лучшие и более разнообразные аппаратные периферийные устройства, но MPLAB - это часть дерьма, и единственная С++ IDE для ПОС - одна из IAR, которая довольно дорога. (более $2K)

Ответ 9

Мое голосование направлено на PIC для самых разных доступных устройств. Но я должен сказать, что, когда я начал использовать ПОС, они были почти ничем иным. Возможно, теперь все изменилось.

Ответ 10

I/мы выбрали PIC в основном потому, что есть более периферийное оборудование по той же цене. И что еще более важно, вы даже не можете найти сопоставимые AVR. Я выбрал одну из старых версий (начиная с PIC18, перенесен на dspic33)

IDE свободен, компилятор (C) является бесплатным в версии для студентов (который отключает оптимизацию после первого месяца). Программисты начального уровня также довольно дешевы. Если у вас есть кучи прерываний, счетчиков и таймеров, есть вероятность, что вам не понадобится оптимизация вообще. Программист прямо из Microchip составляет $30.

Обратите внимание, что приведенные выше замечания о AVR питания более к развитию ЯВУ немного устарели, если вы на самом деле не идти на устаревших архитектур типа PIC12 и 16.

Один обычно программы более современные PIC18 (8-бит) и 16-разрядных архитектур (24F, 30F и dsPIC33, которые основаны на одной и той же основной сердцевины) в С 16-горькие даже использовать GCC. Сейчас есть 32-битные MIPS, но они больше конкурируют с ARM в области обработки аудио/видео. Как ни странно, современные часто дешевле старых. Вероятно, они производятся в более современном процессе, который имеет более высокие урожаи.

Другое примечание: в то время как Microchip/PIC купил Atmel/AVR, но я предполагаю, что в течение первых нескольких лет это не повлияет на товарные линии.

Я действительно с нетерпением жду 16-биттер с включенной сетью с поддержкой протокола 60MIPs, которая будет выпущена этим летом (afaik streetprice чуть выше 10 евро).

Ответ 11

Мой первый опыт работы с микроконтроллерами был с OOPic-R. Это позволило мне сделать простые роботизированные эксперименты, не слишком беспокоясь о коде. Объектно-ориентированный поток программирования делает все быстро и легко программируется.

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

У меня нет опыта программирования микроконтроллеров в сборке. Если вы хотите попробовать, AVR может быть более подходящим из-за этого большего сообщества пользователей.

Насколько мне известно, самым дешевым способом программирования AVR с использованием инструментов ATMEL является ATMEL AVR ISP mkII за 35 $. Вы можете найти сторонних программистов для 10-15 $.

Ответ 12

Если вы просто хотите знать, что такое программирование MCU, начните с Arduino - хорошая идея. Это дешево, с дружественной к новичкам IDE (на основе языка программирования программирования, который имеет аналогичный синтаксис с C).

Но это не ответило на ваш quesiton, потому что Arduino основан на AVR, вы не можете чувствовать, что за этой современной IDE есть MCU AVR.:)

Ответ 13

У меня был намного больше успеха с ПОС, пока я только начинал. Я попытался получить простой стартовый комплект от Arduino и просто не мог получить хороший базовый комплект, не тратя более $100-200 никеля и сглаживая настройки вместе. Получил отличный стартовый комплект от PIC за 40 долларов, и у него есть все: IDE, программист, стартер с встроенной схемой для демонстраций и обучающих программ. Одна покупка. Кроме того, среда ПОС была очень легка в настройке и работе. Я играл с ним в течение часа.

Ответ 14

Я бы сделал свой выбор на основе наличия кросс-компилятора C. В прошлом это сделало бы AVR выбор. Я не уверен, какой статус сейчас.

Я запрограммировал PIC на ассемблере, и это было не очень весело. C гораздо приятнее во многих отношениях.

Ответ 16

Из лучших возможностей AVR является сообщество на форумах по адресу www.avrfreaks.net. Вы получаете кучу опытных инженеров-электроники, которые выходят на улицу, желая помочь новичкам идти.

Ответ 17

Я бы сказал, что я нахожу микроконтроллер 8051 самым простым и Atmel придумал микроконтроллеры с таким количеством встроенных функций.... но все же люди предпочитают использовать AVR... моя рука будет расти с помощью 8051 (если найдется удобно), иначе AVR...

Ответ 18

Я люблю AVR. его легко программировать и ресурсы. Есть немного сообщества, как arduino работает с ним.

Ответ 19

Некоторые дополнительные сведения о превосходстве AVR, а также о переполнении стека: http://embeddedgurus.com/stack-overflow/2009/04/pic-stack-overflow/

Популярность 8-битных ПОС меня озадачивает. Его архитектура ужасна - ограниченный стек вызовов - это только первая ужасная вещь. Бросьте потребность в пейджинге и банковском обслуживании вместе с одним вектором прерывания и у вас есть кошмар модели программирования. Это будет одна вещь если это было нормой для 8-разрядных устройств, но это не так. AVR архитектура удаляет PIC, в то время как HC05/HC08 также улиц впереди ПОС. Учитывая выбор, я думаю, что даже 8051 над ПОС. Я не вижу никаких преимуществ по стоимости, упаковки преимущества (Atmel только что выпустил SOT23-6 AVR, который по существу набор инструкций, совместимый с их крупнейшими устройствами) или периферийными устройствами устанавливают преимущества. Короче говоря, я не понимаю! Кстати, это не обвинительный акт Microchip - они отличная компания, и мне очень нравится много их других продуктов, их веб-сайт, техническая поддержка и так далее (возможно, именно поэтому ПИК так широко используется?)

Ответ 20

Я начал работать на Motorola M68HC11, это было достаточно просто. Я думаю, вы получите тот же опыт с любыми контроллерами 8Bit.