Но соответствующий чип есть на плате наны. Для такой частной задачи (USB-i2c адаптер) какая разница?OldBean, 19 Апр. 18, 03:02
Разница в том что Arduino Nano при подключении по USB может быть только виртуальным COM портом. Т. е. скажем
эту конструкцию на ней не сделать аппаратно. Поскольку в STM32F103 имеется USB модуль, то на нем сделать получится. Вот и вся разница.
У ST великолепные МК, но она влезает в такую плотно занятую и давно освоенную нишуOldBean, 19 Апр. 18, 03:02
Давно влезла и успешно заняла свое место. Микроконтроллеры от ST сейчас применяют в шлемах виртуальной реальности, квадрокоптерах и других устройствах, где AVRу не хватит производительности и его применение выйдет дороже (при серийном производстве цена комплектующих имеет значение).
ИМХО, одних только количественных преимуществ (типа наличия очень богатой периферии) явно недостаточно, чтобы все массово стали переходитьOldBean, 19 Апр. 18, 03:02
Не раз приходилось видеть как устройство собирают их нескольких ардуин, потому что у одной недостаточно производительности или периферии (например мало таймеров). На мой взгляд периферия имеет значение. Тот же регулятор напряжения на STM32 с программно-аппаратной точки зрения собрать проще чем на AVR. Во первых у таймера 16-ти битный предделитель с коэффициентом деления 1-65536, а не несколько делителей - 1, 8, 64, 256, 1024 как у таймеров AVR. Это позволяет без особых сложностей выставить нужный коэффициент предделителя. Кроме того у таймеров есть режим работы One Pulse, при котором досчитав до переполнения, таймер выключается, что удобно для фазового управления симистором. Нужно лишь запустить таймер, а после формирования импульса выключится автоматически. С прерываниями тоже лучше чем у AVR. Есть вложенные прерывания с приоритетами. Для фазового управления симистором (и некоторых других случаев) это имеет значение. Возьмем к примеру регулятор напряжения и тока. В AVR если при возникновении прерывания от входа INT выполняется другое прерывание, то от INT будет обработано после него что создаст ошибку времени открытия симистора а значит напряжение будет нестабильно. В STM32 можно настроить прерывания так чтобы наиболее важные могли прервать менее важные и даже если при возникновении прерывания от входа INT выполняется другое прерывание, оно будет прервано более важным от INT и ошибки времени открытия симистора не возникнет. При необходимости таймер можно настроить так чтобы управление углом открытия симистора происходило полностью аппаратно (без прерываний). Другими словами, периферия имеет значение поскольку позволяет достигнуть цели более простыми средствами и получить большую точность работы.
Вот если бы они действительно предложили что-то принципиально новое с точки зрения конечных разработчиковOldBean, 19 Апр. 18, 03:02
А они предложили, только те что привык к AVR и ардуинам на его основе не хотят изучать что-то новое.
Скажем есть ли в Arduino Nano поддержка нормальной внутрисхемной отладки (я не про вывод сообщений через USART, а про отладку по JTAG, SWD)? Есть ли модуль
DMA и др.? В Arduino Nano микроконтроллер 8-ми битный, а STM32 - 32-ух битные микроконтроллеры. Это увеличивает производительность при работе с переменными с размером больше байта. У AVR АЦП 10-ти битный с максимум 15 тысяч измерений в секунду. В STM32F103 12-ти битный АЦП с 1 миллионом измерений в секунду. Продолжать можно и дальше. Это все равно что сравнивать автомобиль времен СССР и современный автомобиль.