AVR или PIC, чтобы начать программировать Микроконтроллер? [закрытый]

Сначала вы вызываете fork, и ваш один процесс вилки на два. Затем вы вызываете fork в каждом результирующем процессе, и у вас всего 4. Затем 4 процесса снова печатают привет, возвращают и снова печатают привет, в общей сложности 8 hellos.

36
задан freespace 19 October 2008 в 14:25
поделиться

19 ответов

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

Для новичка я предложил бы AVR из-за различных причин:

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

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

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

  • Это имеет богатых сообщество человека, увлеченного своим хобби, .

PIC известна за свою специфическую архитектуру. Многие любят PIC за это, некоторая ненависть это. AVR более прост и, кажется, не вызывает столько же экстремальных и полярных мнений.

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

Сводка: существует много опций, но не позволяйте этому сокрушить Вас. Просто выберите один и начните учиться с ним. Микроконтроллеры, действительно, удивительно легки ведущему устройству, как только Вы просто решаете начать!

53
ответ дан smt 10 October 2019 в 09:44
поделиться

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

-1
ответ дан Issac Kelly 10 October 2019 в 09:44
поделиться
1
ответ дан plan9assembler 10 October 2019 в 09:44
поделиться

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

, Но это не ответило на Ваш quesiton, потому что, хотя Ардуино основан на AVR, Вы не можете чувствовать, что позади того современного IDE существует MCU AVR.:)

3
ответ дан rIPPER 10 October 2019 в 09:44
поделиться

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

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

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

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

3
ответ дан JcMaco 10 October 2019 в 09:44
поделиться

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

5
ответ дан Jason S 10 October 2019 в 09:44
поделиться

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

5
ответ дан Axeman 10 October 2019 в 09:44
поделиться

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

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

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

Обновление: Фиксированный комментарий, что выполнения Ардуино интерпретировали код. Также обновленный приблизительно цена Ардуино.

6
ответ дан Jason Moore 10 October 2019 в 09:44
поделиться

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

11
ответ дан J.J. 10 October 2019 в 09:44
поделиться

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

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

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

6
ответ дан stevenvh 10 October 2019 в 09:44
поделиться

Я предложил бы AVR. Это далеко превзошло PIC как предпочтительную платформу микроконтроллера для общих проектов человека, увлеченного своим хобби. Прежде всего считайте Ардуино (и другой *Дуино) платформой, которая обеспечивает AVR высокого класса в легком для взаимодействия через интерфейс и популярный форм-фактор.

8
ответ дан Sparr 10 October 2019 в 09:44
поделиться

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

3
ответ дан PaulG 27 November 2019 в 05:12
поделиться

I/we chose PIC mostly because there is more peripheral hardware for the same price. And more importantly, you can't even find comparable AVRs. I did choose one of the legacy free versions though (started with PIC18, migrated to dspic33)

The IDE is free, the (C) compiler is free in the student version (that disables optimization after the first month). Entry level programmers are fairly cheap too. If you have heaps of interrupts, counters and timers, there is a chance you won't need optimization at all. A programmer straight from Microchip is $30.

Note that the above remarks about AVR catering more to HLL development are slightly outdated unless you really go for the legacy architectures like PIC12 and 16.

One typically programs the more modern PIC18 (8-bit) and the 16-bit architectures (24F,30F and dspic33 which are based on the same principal core) in C. The 16-bitters even use GCC. There are also MIPS based 32-bitters now, but they rival more with ARM in the audio/video processing scene. Strangely enough, the modern ones are often cheaper than the old ones. Probably they are produced on in a more modern process that has higher yields.

Another note: meanwhile Microchip/PIC bought Atmel/AVR, but I assume that for the first few years that won't affect the productlines much.

I'm really looking forward to the 60MIPs ethernet enabled 16-bitter that is going to be released this summer (afaik streetprice just above EUR 10)

5
ответ дан 27 November 2019 в 05:12
поделиться

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

1
ответ дан 27 November 2019 в 05:12
поделиться

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

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

6
ответ дан 27 November 2019 в 05:12
поделиться

Еще несколько дискуссий о превосходстве AVR по поводу другого переполнения стека: http://embeddedgurus.com/stack-overflow/2009/04/pic-stack-overflow/

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

0
ответ дан 27 November 2019 в 05:12
поделиться

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

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

2
ответ дан 27 November 2019 в 05:12
поделиться

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

1
ответ дан 27 November 2019 в 05:12
поделиться

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

1
ответ дан 27 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: