Я пытаюсь разобраться в микроконтроллерах, но, как вы могли догадаться, выбор первого микроконтроллера для начала — сложная задача из-за множества доступных вариантов.
Я изучал электронику (как аналоговую, так и цифровую), компьютерную организацию и сейчас читаю книгу по компьютерной архитектуре.
Что может быть лучше, чтобы закрепить мое понимание, чем иметь под рукой настоящий микроконтроллер. У меня возник соблазн приобрести Arduino из-за ее популярности и предполагаемой простоты. Однако, точно так же, как программирование на чем-то вроде C # и не обязательно знать, что происходит за кулисами, я опасаюсь, что с Arduino я буду использовать его только как C #, не понимая, как работает архитектура, что я и надеюсь понять. учиться.
Итак, вкратце, ошибаюсь ли я в своих вышеприведенных оценках Arduino?, и как Arduino сравнивается с точки зрения понимания того, как работают встроенные системы, с другими микроконтроллерами из семейств PIC и AVR.
Спасибо
Если у вас не очень ограниченный бюджет (например, уровень экономии карманных денег), то я бы не стал слишком долго решать, что попробовать в первую очередь. Просто выберите один и ожидайте, что, начав, вы попробуете и другие.
ИМХО, вы не ошибетесь с Arduino в качестве первого выбора:
Так что маловероятно, что вы столкнетесь с первым препятствием и в результате разочаруетесь и расстроитесь.
Не беспокойтесь слишком сильно о том, что вы застряли в черном ящике , который мешает вам учиться на более глубоких уровнях. Но ответственность за то, чтобы выйти за рамки основ, будет лежать на вас, например:
Единственным недостатком начала работы с Arduino, о котором я могу думать, является необходимость страдать от случайных пренебрежительных замечаний и троллинга со стороны инженеров Real ™! Вроде как программисты признают, что их первый язык был БЕЙСИК ;-)
Если у вас есть Arduino Uno или аналогичная плата, вы можете полностью игнорировать тот факт, что вы можете использовать Arduino IDE для ее программирования, и вы можете написать весь свой собственный код в Atmel Studio и даже импортировать в нее основные библиотеки Arduino, если хотите. .
Преимущество Arduino в том, что вам не нужно изучать низкоуровневые вещи, например, как включать прерывания и устанавливать маски для регистров таймера и т. д. Это просто «работает».
Это помогает новичкам начать работу и быстро выполнять задачи.
Если вы хотите научиться правильно с самого начала, зайдите прямо в Atmel Studio с платой разработчика AVR (или используйте плату Arduino, просто игнорируйте IDE) и учитесь на примерах и читайте техническое описание для Atmel AVR ATMEGA328P.
Если вы хотите программировать микроконтроллеры, вам нужно выучить (если вы еще этого не знаете) «C» и, возможно, какой-нибудь язык ассемблера.
Arduino хорош, если вы просто хотите, чтобы что-то работало (т. е. хотите заработать ровно столько, сколько нужно для выполнения работы), и это нормально. Язык, который использует arduino, похож на C, но имеет кучу готовых подпрограмм, поэтому вам не нужно знать, что происходит под капотом.
Если это контроль и более глубокое понимание, получите комплект разработчика микроконтроллера (либо от производителя, либо от digikey). Как правило, вы можете получить это за 30-50 долларов США или меньше.
Для изучения встроенного языка C ознакомьтесь со следующими книгами: Embedded C , Test Driven Development for Embedded Systems и встроенные системы .
Начните с попытки решить проблему. Я просмотрел книги, и мне стало скучно, и я не запомнил столько, сколько смог, пытаясь решить проблему. Удачи и получайте удовольствие!
Маженко
медватт
Маженко
МаркУ
sheild
означает сменную плату,sketch
означает программу прошивки.processing
иwiring
являются именами некоторых из их библиотек. Иfritzing
представляет собой макетную схему, часто используемую в качестве плохой замены реальной схемы. Но помимо странных названий, это способный инструмент разработки. И поскольку это открытый исходный код, вы можете копаться в исходном коде и видеть, как все работает внутри.Маженко
processing
это название украденной ими IDE иwiring
имя украденного API.пользователь17592