Сегодня 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.
Сводка: существует много опций, но не позволяйте этому сокрушить Вас. Просто выберите один и начните учиться с ним. Микроконтроллеры, действительно, удивительно легки ведущему устройству, как только Вы просто решаете начать!
Да, есть, вы можете выбрать базовый контейнер легко также, если вам интересно:
#include <queue>
int main()
{
std::queue<int> myqueue;
myqueue.push(3);
int x = myqueue.front();
myqueue.pop(); // pop is void!
}
Да, есть std :: queue
. Реализовано как «адаптеры» поверх существующего контейнера (поскольку это в основном просто специализация).
Еще одна полезная ссылка на стандартные библиотеки C ++ - http://www.cplusplus.com .
В частности, их справочный раздел: http: // www.cplusplus.com/reference/.
Вот их страница для std :: queue: http://www.cplusplus.com/reference/stl/queue/ .
Кроме того, вы можете найти std :: deque (двусторонняя очередь) полезным, в зависимости от того, какая очередь вам нужна для