Задать вопрос
@flexpc

Сколько строк кода может уместить ATmega 8?

Я новичок в микроконтроллерах и пока ничего не понимаю. Есть один вопрос с которым мне необходимо разобрать. Я делаю проект и я примерно представляю сколько строк кода в нём будет, но я не понимаю какой микроконтроллер мне надо выбрать исходя из этой информации. И так, сколько строк кода может вместить ATMega8? И на сколько объемные проекты можно на нём делать, или же лучше двигаться в сторону 168? Спасибо.
  • Вопрос задан
  • 360 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 4
@kalapanga
Так выбирают микроконтроллер для большой серии изделий, когда важна каждая копеечка. А для хобби, обучения и т.п. не жадничают, а берут с запасом - какой-нибудь актуальный, современный МК. Когда напишете проект - другой, появится и представление о том, на какой функционал сколько и каких ресурсов нужно.
И да, память - далеко не единственный и далеко не всегда главный критерий выбора МК.
Ответ написан
Комментировать
GavriKos
@GavriKos
Никто, включая МК, не меряет размер кода строчками.
Тем более компилируемый код.

МК вмещает столько скода, сколько у него памяти (вроде обычно ROM или ее часть для этого используется), может с небольшой поправкой (загрузчик там например). Но - чаще всего - ассемблера. А не C++.

я примерно представляю сколько строк кода в нём будет

не верю
Ответ написан
Взять да проверить, напишите строку вывода данных размножте, скомпилируйте и получите кол-во строк кода
Ответ написан
@evgeniy_lm
Согласно даташит там 8Кб памяти это примерно 3500-4000 команд, в Atmega168 в два раза больше

Во-первых, вы не с того начали. В первую очередь МК это некая "железяка" ("черный ящик") у которой есть входы/выходы. В свою очередь у вас есть периферия (датчики/исполнители) которая цепляется на эти самые входы/выходы. Т.е. для начала вам нужно определится с железной составляющей МК и по этому параметру делать выбор МК как правило разработчики придерживаются некоего баланса памяти и количества выводов. т.е. если у вас хватает пинов то и памяти скорее всего будет достаточно.

Во-вторых, осваивать МК лучше начинать с использованием Assembler, так проще понять принцип взаимодействия МК с периферией и контролировать расход памяти. С другой стороны поднять проект на Assembler сложнее бегущих огней даже для профи долго и проблематично.

В-третьих, если вы хотите войти в МК "прям сразу" стоит смотреть в сторону Arduino. Там вы имеете ряд стандартизированных модулей, вам не нужно заморачиватся с обвязкой (кварцы, стабилизаторы, программаторы, беспаячные выводы), есть куча периферии с готовыми драйверами и библиотеками. С другой стороны как правило там используется ATmega328 который без проблем можно программировать напрямую в т.ч. и на Assembler.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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