Почему за основу для Arduino выбрали Atmega328P, когда STM32 и дешевле до двух раз, и лучше до двух раз?
В первую очередь, цена. На AliExpress:
Atmega328P (AVR) - 70-80 руб штука за штуку (от 100 шт) STM32F030F4P6 (ARM Cortex M0) - 25-30 руб за штуку (от 100 шт)
Архитектура.
ARM - более совершенен, чем AVR, кроме того, знание ассемблера ARM более применимо на практике.
Впрочем, это более субъективно.
Напряжение питания в этом вопросе не рассматривается, поскольку в обоих случаях все равно нужен стабилизатор, который составляет очень малую долю себестоимости компьютера.
Корпус - тоже.
Вывод: STM32 лучше, чем Atmega328P, по ряду важных характеристик, в первую очередь цена и быстродействие.
Уступает по объему ПЗУ, но можно использовать "облачное" хранилище с Ethernet shield или внешнее ПЗУ.
И немного уступает по количеству GPIO-выводов.
Но у STM32 есть еще одна модель - STM32F030K6, она не только не уступает "атмеге" по обоим характеристикам, но и слегка превосходит - 26, а не 23 GPIO.
При этом, по цене несколько дороже, но все равно дешевле, чем Atmega328P - 38-50 руб за штуку (от 20 шт)
Остается вопрос - почему в Arduino все-таки Atmega328P? Чего я не учитываю? Спорить не буду. Вопрос не для спора. Просто мне непонятно.
Я знаю две причины:
1) поинтересуйтесь годом выхода ARDUINO и выходом указанного STM. На тот момент продукция Atmel была сильно популярней, а значит и больше людей, кто мог заинтересоваться проектом.
2) первая ARDUINO на Mega8 принципиальна была разработана под одностороннюю плату и DIP, точнее trought-hole компоненты. Для повторения "на коленке".
Может были и другие соображения, но они оправдались, так как проект "взлетел".
Вот для справки: https://www.arduino.cc/en/Main/ReleaseNotes первая версия вышла ARDUINO 0001 - 2005.08.25, в случае с STM32 - www.compel.ru/lib/ne/2011/2/3-stm32-epoha-32-bitny...Компания ST одна из первых выпустила свои микроконтроллеры Cortex-M3 (2007 г.)
Под stm32f103c8t6 есть загрузчик ардуино.
А вообще это скорее всего из разряда: так исторически сложилось.
Да и они в дип корпусах есть, что способствовало продвижению данных МК среди любителей.
Простой ответ - потому что Arduino вышла раньше, чем контроллеры от ST обрели популярность. Про это уже говорили выше.
Если же подойти философски, то надо сказать, что "лучше" - понятие растяжимое. Да, у ST есть более производительные контроллеры за сравнимую цену, но это совсем не означает, что в этом применении они лучше. Как минимум, они сложнее, и, учитывая круг применения Ардуино, эта сложность не оправдает себя, как и расширенные возможности. Платформа Ардуино призвана прежде всего снизить порог вхождения, и AVR отвечают этой задаче лучше.
rustler2000: Но и от "обычных" Arduino (розничная цена платы - 150-500 руб в зависимости от модели и комплектации) слишком далеко уходит, поэтому сравнение некорректно, а вот на STM32 Cortex M0 можно создать аппарат именно такого класса, как обычная Arduino, но с перечисленными плюсами и еще выгадав рублей 30.
под ардуино-своместиомстью понимается что ??
гребенки идентичного расположения ил кодовая совместимость ??
между архитектурами Cortex M0 и AVR 20 лет и фундаментальные отличия