STM32 F103C8T6

MacSim
Offline
Зарегистрирован: 28.11.2012

сразу прошу не пинать и не говорить, что лезу не на тот форум, мол тут только ардуины...

суть такая. захотелось разобраться с стм32. выбрал сие чудо  F103C8T6

http://ru.aliexpress.com/item/STM32F103C8T6-ARM-STM32-Minimum-System-Dev...

поддерживает ли ардуино иде данную плату?  || поддерживаются только атмеловские армы?

 

Als
Offline
Зарегистрирован: 17.05.2015

Поддерживает, но танцы с бубном гарантированны. Про полную совместимость библиотек ничего сказать не могу, скорее всего её нет. 

вот пошаговая инструкция https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation

Простейшие примеры компилируются и работают. 

Мне больше понравилась связка CooCox, GNU Tools for ARM Embedded Processors , CubeMX.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

MacSim пишет:

сразу прошу не пинать и не говорить, что лезу не на тот форум, мол тут только ардуины...

суть такая. захотелось разобраться с стм32. выбрал сие чудо  F103C8T6

http://ru.aliexpress.com/item/STM32F103C8T6-ARM-STM32-Minimum-System-Dev...

поддерживает ли ардуино иде данную плату?  || поддерживаются только атмеловские армы?

 

Используй нормальную среду. Keil. Она бесплатна для кода до 32КБ, а для F0 и подобных без ограничений, т.е. просто бесплатна, официально. Не смотри, что она выглядит топорно и старомодно, зато свою функцию выполняет прекрасно. Отладка достаточно неплохая, много неплохих фишек. На EDX на курсах её использовали при обучении.

Дискутировать на данную тему не буду, хочется гемора - не вопрос.

Кстати, 103 камни уже староваты (есть глюки), лучше юзать что-то поновей. Впрочем это уже вопрос философский, кому для чего нужно. Я STM32F030F4P6 юзал, да и не только я один на этом форуме есть и другие, кто их использовал. Вполне прикольный камушек. 48МГц, я использовал встроенный генератор, без кварца.

 

MacSim
Offline
Зарегистрирован: 28.11.2012

kisoft пишет:

 

Кстати, 103 камни уже староваты .... Я STM32F030F4P6 юзал,

 

вместо первого рекомендуете именно второй?

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

MacSim пишет:

kisoft пишет:

 

Кстати, 103 камни уже староваты .... Я STM32F030F4P6 юзал,

 

вместо первого рекомендуете именно второй?

It depends.. Зависит от задач. Всё таки F030 максимум - 48 МГц, а не 72. ОЗУ в F103 - 20К (? могу ошибаться), против 4K (или типа того) на F030.

У меня F103 на PinBoard II. Точно такой же камень. Если нужно, могу попробовать что нужно, мой ник на рамблере, пиши, правда времени маловато. В принципе, то, что пробовал работало нормально. Но, как пишут, есть проблемы на "старых" камнях, я не сталкивался. На F030 делал управление лентами на WS2812, работает нормально (DMA, SPI). Минус у них в том, что корпус TSSOP20 (против LQFP48) и выходов маловато, впрочем кому как.

Мне чем понравился F030, тем, что кварц я не ставил, работает нормально DMA (на F103 не пробовал), плюс корпус паяется без проблем. Брал примерно за 55р корпус в России. Из F0 есть более навороченные камни, но их я не пробовал, у них корпуса другие, потому пока не юзал.

На всякий случай, судя по всему из IDE в порядке приоритета:

1. Keil

2. IAR

3. остальное Г..

PS Keil можно официально зарегить, не будет ругаться на ограничение памяти. Если нужно, найду ссылку. Я сам зарегил. У меня Keil - без регистрации (v4) и Keil v5 с официальной регистрацией.

 

axill
Offline
Зарегистрирован: 05.09.2011

Для stm32 однозначно keil

MacSim
Offline
Зарегистрирован: 28.11.2012

спасибо скачал. буду разбираться.поищу блинк для этого камня и кеила.

понимаю что эта тема уже не этого форума. поищу аналогичный форум для стм и кеила.

 

Jeka_M
Jeka_M аватар
Онлайн
Зарегистрирован: 06.07.2014

Если что, по поводу документации на камни STM:

Datasheet - здесь информация по конкретному микроконтролеру (корпусировка, распиновка, электрические параметры, какая есть периферия)

Reference manual - здесь исчерпывающая инфа по работе с периферией (настройка, регистры и т.д.) на всё семейство (от младших моделей до старших). То есть, смотрим в даташите на конкретный камень, какая в нём есть периферия, а потом изучаем её в референс мануале.

Programming manual - здесь информация по ядру Cortex-M. В частности, описание контроллера приоритетных векторных прерываний (NVIC), который встроен в ядро.

Ну про Application note и Errata sheet думаю понятно. Есть ещё всякие User manual'ы по библиотекам и Programming manual по флеш-памяти. В общем, документации много.

P.S. Ещё если надо, могу сбросить Cortex-M3 Instruction Set с ассемблерными инструкциями (правда от Texas Instruments, но ядро по идее одинаковое?)

MacSim
Offline
Зарегистрирован: 28.11.2012

всем спасибо. будут вопросы напишу.

a5021
Offline
Зарегистрирован: 07.07.2013

Вот зачем вы его путаете? Пусть бы брал F103 и пользовал аруиновскую среду. Захотел бы большего, мог и глубже ковырнуть, благо среда это не особо ограничивает. А вы его пытаетесь направить более сложным путем.

MacSim
Offline
Зарегистрирован: 28.11.2012

a5021 пишет:

Пусть бы брал F103 и пользовал аруиновскую среду.

Подробнее... или как уже говорилось выше?

a5021 пишет:

А вы его пытаетесь направить более сложным путем.

Ваши предложения? Каким путем следует...

СVavr, кеил чем-то ее напоминает.  

MacSim
Offline
Зарегистрирован: 28.11.2012

Als пишет:

Поддерживает, но танцы с бубном гарантированны. Про полную совместимость библиотек ничего сказать не могу, скорее всего её нет. 

вот пошаговая инструкция https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation

Простейшие примеры компилируются и работают. 

скачал равпоковал создав папку. но новые платы стм 32 в меню плат не видет.

Als пишет:

Мне больше понравилась связка CooCox, GNU Tools for ARM Embedded Processors , CubeMX.

покопаю и в этом напрвлении. спасибо

Logik
Offline
Зарегистрирован: 05.08.2014

\\\\Подробнее... или как уже говорилось выше?

А подробней здесь - http://www.stm32duino.com/viewforum.php?f=1 Качаете, ставите в папку рядом с проектами, версию IDE поновей я когдато на 1.6.5 переходил из-за этого, драйвера 2шт., там хитро ставятся, я когдато описывал подробно на форуме, ищите, не старше года.

MacSim
Offline
Зарегистрирован: 28.11.2012

... руторент не работает. freegate почемуто айпи не меняет...

MacSim
Offline
Зарегистрирован: 28.11.2012

ага кристал в ардуино иде 103 добавил.пошел блинк искать

MacSim
Offline
Зарегистрирован: 28.11.2012

в примерах A_stm32_exemple открываю blink запускаю компиляцию. ругается stm32.h не находит

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

stm32 по определению сложнее, если серьезно браться за освоение, нужно забыть про ide типа Ардуино, а так же спокойную жизнь. Придется почитать reference manual, иначе будет сложно понять. Армы имеют совсем другой подход к реализации, нужно забыть про ногодрыг, практически совсем (он там редко нужен). В этом тоже его прелесть, IMHO, разумеется. Вся периферия сильно отличается от Ардуино количеством управляющих регистров, подсистем. А потому, если для такого более другого камня использовать Ардуино подход, лучше и не пробовать. Выбрал Ардуино IDE? Флаг в руки. Потерянное время. Тут уже были товарищи, которые хаяли stm32, потому что глючит в Ардуино IDE. Читать такое смешно и грустно. Невольно вспоминается анекдот:
- Карузо, Карузо, фигня твой Карузо
- ???
- А мне Миша напел
Я все сказал, терять время на пустое - не вижу смысла. Удачи.

a5021
Offline
Зарегистрирован: 07.07.2013

Как-то слишком много категоричности. Я с удовольствием бы пользовался ардуино IDE, если бы она была для F030. И про ногодрыг ерунду говорите. Если мне понадобится на stm32 еще один недостающий UART/I2C/SPI/чего-то-там, то я с чувством глубокого удовлетворения запилю его ногодрыгом, чего бы при этом ни казалось ценителям феншуя. И про потерянное время ни к месту. Ну нет такого, что взяв в руки стамеску, ты навсегда потерян для слесарного дела. Сегодня рубанок и долото, завтра метчик и надфиль. Смотря чего в конкретный момент требуется.

Logik
Offline
Зарегистрирован: 05.08.2014

Целиком разделяю написаное, за исключением одного момента.

a5021 пишет:

 И про ногодрыг ерунду говорите.

То что излагал kisoft не ерунда, а намек на правду. Только правду не пишет, из любви к STM наверно. Переферия STM тактируется отдельно, и для IO невозможно использовать частоту процессора, только медленей. Причем это будет касатся только вывода, ввод - на частоте процессора, но и с вводом заморочка, т.к. модул IO подключен по шине (одной из двух) которая также может тактироватся не на частоте процессора. Все это в комплексе приводит к непрогнозируемости времменных характеристик сигналов при ногодрыге на высоких скоростях работы и потребует неоправдано много тактов ожидания покуда переферия гарантировано провернется. Вот и получится ногодрыг как у нормального проца на частоте около 20МГц.

 ИМХО: эти процы (по крайней мере  F103C8T6, с остальными вариациями близко не общался и надеюсь не  буду) дерьмо, реализовать заявленные производителем высокие характеристики можны только частично, и если поклонники STM будут возражать то пусть напишут как сделать заявленую "2 x 12-bit, 1 μs A/D converters" на заявлной "72 MHz maximum frequency."  Писать почему нельзя не надо - без вас знаю, только знания эти старательно были спрятаны производителем, а наперед выставлены  "2 x 12-bit, 1 μs A/D converters" и "72 MHz maximum frequency."

К сожалению от выбора среды разработки вышесказаное не зависит.

 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Logik, не нравится STM, юзайте другие камни, создается впечатление, что кто то заставляет. Про ADC не вижу смысла говорить в данной теме, где речь больше про выбор IDE, а не про то, какой камень лучше. К тому же какой камень лучше - это философский вопрос, на который нет точного, математически точного ответа. Впрочем, есть философский ответ - нужно юзать тот камень, который удовлетворяет условиям задачи.

a5021, на счет "категоричности" - время покажет. Моя "категоричность" основана на моем личном опыте. Пусть и не очень большом, но всё-таки моём личном. Ваши доводы про недостающую периферию, ради которой нужен ногодрыг, я не опровергал, я так и написал, что если нужно, то можно сделать, цитирую "(он там редко нужен)". Чем Ваша категоричность отличается от моей? Думаю ничем.

За сим вынужден откланяться, потому не серчайте, если не отвечу.

 

axill
Offline
Зарегистрирован: 05.09.2011

Жизнь вообще сплошная философия

рахделю позицию kisoft в том ключе, что если нужна простота повторяемости чужих примеров как в ардуино, надо выбирать железо, которое полноценно поддерживается средой ардуино. Как то странно пытаться избежать одних сложностей (изучение первичной документации) за счет получения других сложностей (косяков работы среды для не поддерживаемого железа)

это равносильно попытке прикрутить контроллер современного инжекторного двигателя к карбюраторному мотору эпохи кулачкового зажигания, причем двухтактному

если выбирать stm надо понимать, что это совсем не ардуино. Не с точки зрения каких то понтов, просто это уже как минимум полупрофессиональное погружение

не знаю какие рускоязычные форумы сильны для stm. Кроме этого пользуюсь форумом дихалта, мне на все хватает

 

a5021
Offline
Зарегистрирован: 07.07.2013

Logik пишет:

Переферия STM тактируется отдельно, и для IO невозможно использовать частоту процессора,

От чего отдельно и почему нельзя, когда можно? Вот схема тактирвоания F103 в представлении куба:

GPIO сидит на APB2, т.ч. с тактированием портов на частоте ядра никаких проблем не наблюдается. Максимальная частота переключения пина может составлять Fcpu/2, т.е. 36мгц и я об этом уже писал как-то в ветке про внешнюю память для атмеги, с пруфами и объяснениями, почему так.

С другой стороны, эти дикие мегагерцы не столь уж востребованны, если речь идет о программной реализации ногодрыгом довольно медленных протоколов, типа I2C или UART, да и SPI может работать фактически на любом клоке. Частоты этих интерфейсов вполне располагают для комфортной эмуляции протоколов в софте. Для точных таймингов можно свободный таймер задействовать, если уж очень хочется. Ужасы про "непрогнозируемости временных характеристик" считаю надуманными.

Цитата:
ИМХО: эти процы (по крайней мере  F103C8T6, с остальными вариациями близко не общался и надеюсь не  буду) дерьмо

Мне отчего-то кажется, что вы их просто готовить не умеете.

Цитата:

пусть напишут как сделать заявленую "2 x 12-bit, 1 μs A/D converters" на заявлной "72 MHz maximum frequency."

Это какой-то фетиш, что нужно получить именно один мегасемпл и именно на 72 мегагерцах тактовой? В F103 нет дробных делителей, отчего 72 мегагерца тактовой до 14мгц АЦП точно не поделить. А если подойти без этих искусственных требований, то выбрав тактовую в 56мгц можно получить 14мгц на АЦП и вожделенные 1 мкс на одно полное преобразование. Кстати сказать, на этом "дерьме" можно и два преобразования за 1 мкс  делать, если использовать оба АЦП совместно. Итого, два мегасемпла, как с куста.

Мне эти камни в целом нравятся и ваших мрачных взглядов я не разделяю.

kisoft пишет:

a5021, на счет "категоричности" - время покажет.

И что оно должно показать? Что через пять лет в свете "новейших достижений британских ученых" софтовые реализации протоколов перестанут работать ? А то ведь ногодрыг работает и довольно широко используется уже сегодня и для этого не надо ждать, пока "время покажет" неизвестно что и неизвестно кому.

Цитата:

Чем Ваша категоричность отличается от моей? Думаю ничем.

Думать, как угодно, ваше неотьемлемое право. Только называть мои возражения на ваши безаппеляционные утверждения "встречной" категоричностью, это перебор, который больше похож на желание ответить, хоть что-то. Уж не знаю, понимаете ли вы всю пикантность ситуации, но уверяю, что со стороны это выглядит не самым лучшим образом.

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

Атмега такой же МК, как и все остальные, "старшие" и "младшие". STM32 будет, безусловно, старшим, по отношению к атмеге, но при определенном уровне абстрагирования, старшим настолько же, насколько атмега более старшая по отношени к тини. Поэтому разговоры о том, что stm32 -- это другой мир -- либо наполнены лукавством, замешанном на дурных намерениях, либо отсутствием внятных представлений о вопросе.

Как человек не чурающийся использования STM32 в своих электронных задумках, я, тем не менее, охотно пользуюсь ардуиной там, где это мне кажется удобным и целесообразным (в том числе, программирую в Arduino IDE). Все искуственные разделения микроконтроллеров на касты и сословия, считаю притянутыми и не заслуживающими серьезного к ним отношения.

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

Als
Offline
Зарегистрирован: 17.05.2015
MacSim пишет:
скачал равпоковал создав папку. но новые платы стм 32 в меню плат не видет. 
 
вот эти шаги надо буква в букву выполнить (5 шагов, ничего не пропускать). Сейчас проверил на Arduino IDE 1.6.9 проекты компилируются, но выдаётся много warning'ов
 
1. Download and install the latest stable version of the Arduino IDE from here
 
2. Run the IDE, and on the Tools menu, select the Boards manager, and install the Arduino Due from the list of available boards.
 
3. Download zip file containing the STM32 files from here Unzip to create the Arduino_STM32 folder
 
4. Copy the Arduino_STM32 folder to My Documents/Arduino/hardware (note. if the hardware folder doesn't exist you will need to create it)
 
5. Run Arduino IDE, choose settings:
‘Board: Generic STM32F103C series‘
‘Variant: STM32F103C8 (20k RAM, 64k Flash)’
‘Upload method: Serial‘
‘Port: <the COM port of your USB-to-serial adapter>’
MacSim
Offline
Зарегистрирован: 28.11.2012

Цитата:

 Вот и получится ногодрыг как у нормального проца на частоте около 20МГц.

это относится ко всем стм или ко всем кристалам с арм архитектурой?

AT91SAM3X8E (ардуино дуе) также себя ведет?

a5021
Offline
Зарегистрирован: 07.07.2013

АРМ-архитектра -- это ядро. Ядро не занимается ни ногами, ни какими-либо устройствами. Это вотчина периферии, где каждый производитель сам себе начальник. Как сделает, так и будет.

Logik
Offline
Зарегистрирован: 05.08.2014

a5021 пишет:

Logik пишет:

Переферия STM тактируется отдельно, и для IO невозможно использовать частоту процессора,

От чего отдельно и почему нельзя, когда можно? Вот схема тактирвоания F103 в представлении куба:

Я не знаю кто такая куба, но в мануале на стр.161 указано однозначно.

Table 21. Output MODE bits
MODE[1:0] Meaning
00 Reserved
01 Max. output speed 10 MHz
10 Max. output speed 2 MHz
11 Max. output speed 50 MHz

 

a5021 пишет:

Цитата:
ИМХО: эти процы (по крайней мере  F103C8T6, с остальными вариациями близко не общался и надеюсь не  буду) дерьмо

Мне отчего-то кажется, что вы их просто готовить не умеете.

Да. готовить из дерма не умею, Вы правы.

a5021 пишет:

Цитата:

пусть напишут как сделать заявленую "2 x 12-bit, 1 μs A/D converters" на заявлной "72 MHz maximum frequency."

Это какой-то фетиш, что нужно получить именно один мегасемпл и именно на 72 мегагерцах тактовой?

 Да я считаю что заявленые и действительные свойства товара должны совпадать. Если Вам нравятся сюрпризы - ваши личностные проблемы. Если на товаре написано лампочка 220В 60Вт, то это и должно быть так -именно лампочка, именно 60Вт и именно при 220В, а не при 160В и 270В. Таковы нормы, и любой продавец продавший мне нагло несоответствующее рискует кроме всего прочего и по ебалу отгрести, а если у него еще хватит наглости спросить зачем мне 60Вт именно при 220В то его шансы отгрести резко возрастают. Такова действительность, с мошенничеством надо боротся, в том числе и неприятными методами.

a5021 пишет:

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

Ну а после как "заценил", необходимо молчать о результатах? Помойму форум как раз для того, чтоб получивший опыт мог его передать желающим "заценить". Вот я дето год назад и купил maple, решил "заценить", до этого STM никогда не трогал в жизни, за все два десятка лет в деле, процев не один десяток повидал и платформ разных до десятка. Потому есть с чем сравнивать, но такой хрени как  STM  неприпоминаю. Сложней были, но у всех одна общая черта - ориентированость на высокую производительност и вот так, чтоб при максимальной частоте ядра приходилось занижать производительность перефирии из за отсутствия делителя - это ж просто писец. И вывод мои просты: 1. больше я его не трогаю. 2. Проектирование на нем имеет высокие риски, из за неявных ограничений архитектуры, которые проявляются слишком позно. Допускаю что профи, который постоянно в теме и обойдет засады, но мы же тут с позиции любителя смотрим. 3. Мощность процессора избыточна для простых поделок (как все что тут на форуме)  и недостаточна для сложного следующего уровня (мультимедиа, контроллеры на езернете, и т.д.), уж лучше малинка или оранж да линукс. Пролетает он между двумя нишами, нет под него задач, разве что его возможности по работе как ЮСБ-устройство задействовать.

MacSim
Offline
Зарегистрирован: 28.11.2012

a5021 пишет:

АРМ-архитектра -- это ядро. Ядро не занимается ни ногами, ни какими-либо устройствами. Это вотчина периферии, где каждый производитель сам себе начальник. Как сделает, так и будет.

у других (не стм) тоже так же или на ардо-дуе частота IO может достигать частоты кварца мк?

MacSim
Offline
Зарегистрирован: 28.11.2012

Als пишет:

Мне больше понравилась связка CooCox, GNU Tools for ARM Embedded Processors , CubeMX.

CubeMX похоже только для кристалов F4?

 

Jeka_M
Jeka_M аватар
Онлайн
Зарегистрирован: 06.07.2014

MacSim пишет:

CubeMX похоже только для кристалов F4?

Нет, поддерживает и другие - F0, F1, F2, F3, F4, F7, L0, L1, L4

http://www.st.com/stm32cube

 

a5021
Offline
Зарегистрирован: 07.07.2013

Logik пишет:
Я не знаю кто такая куба, но в мануале на стр.161 указано однозначно.

Table 21. Output MODE bits
MODE[1:0] Meaning
00 Reserved
01 Max. output speed 10 MHz
10 Max. output speed 2 MHz
11 Max. output speed 50 MHz
 
Выходит, что вы не знаете не только, что это за "куба" такая, но и что характеризуют параметры, вами процитированные. Ouput mode bits отвечают за эпюры напряжений выходного сигнала (скорость нарастания), но не имеют ровным счетом никакого отношения ни к каким частотам тактирования, о которых вы тут нарассказывали столько небылиц. Чем выше скоростные характеристики пина, тем выше ток и потребление выходного буфера. Если не планируется использовать выход под сигнал с высокой частотой, то имеет смысл задать ouput speed = 2mhz, тем самым снизив потребление до разумно-необходимого.
 
Еще мне не совсем понятно, что вы имели ввиду, утверждая, что  "для IO невозможно использовать частоту процессора". Т.е. вы переживаете, что нельзя вывести меандр 72мгц на любую ногу ? И какой в этом смысл? Для вывода наружу частоты процессора существует специальный выход MCO и вот он уже на самом деле трясется с частотой 72мгц.
 
Процессор, у которого одна команда выполняется не менее одного такта, в принципе не может дрыгать ногами чаще, чем Fcpu/2. Для дрыгания ногами ему последовательно нужно выдать команды: поднять ногу и опустить ногу. Это две команды, исполнение которых занимает по одному такту на каждую. А быстрее некому доводить блоку GPIO, какое положение должна принять та или иная нога. И это не проблема STM32. Мега, например, тоже не умеет дрыгать ногами с частотой тактирования ядра, но я не слышал, чтобы кто-то убивался по этому поводу.

Цитата:
 Да я считаю что заявленые и действительные свойства товара должны совпадать.

Ядро может работать на 72мгц ? Может. АЦП может выдавать результаты оцифровки со скоростью один миллион цифровых результатов в секунду? Может. Производитель нигде не заявлял, что такие скорости АЦП доступны для любых частот ядра, т.ч. я не вижу здесь "несовпадающих свойств товара".

Кстати сказать, более новые модели STM32 имеют свой обособленный генератор тактовой частоты 14мгц для АЦП. Они умеют производить оцифровку со скоростью миллион семплов в секунду независимо от частоты тактирования ядра.

Цитата:
Сложней были, но у всех одна общая черта - ориентированость на высокую производительност и вот так, чтоб при максимальной частоте ядра приходилось занижать производительность перефирии из за отсутствия делителя - это ж просто писец.

Последнее слово больше всего характеризует ваше понимание вопроса. Уровень представлений об устройстве, разговор о котором здесь идет. Отсутствие "нужного" делителя -- это не дефект архитектуры или раздолбайство разработчиков, а вынужденная мера для обеспечения синхронной работы разных блоков внутри МК. Синхронизм весьма важен, т.к. архитектура позволяет строить целые цепочки и гирлянды совместно и согласованно работающих блоков периферии, с обменом данными и управляющими сигналами между ними. Если какой-либо блок затактировать частотой не кратной опорной, то синхрон с другими блоками станет невозможным. В принципе, режим работы АЦП от своего генератора 14мгц в новых сериях STM32 так и называется, асинхронным. С точки зрения скорости, он чудо, как хорош, но крайне неудобен, если оцифрованные данные потом нужно автоматически подхватывать другим блоком периферии. Блоки не синхронизируются без вмешательства ядра, что влечет потери в производительности. И возникает парадоксальная на первый взгляд ситуация, когда работающие на максимальных частотах блоки из-за потерь на синхронизацию обеспечивают совокупную производительность ниже, чем если один блок перевести на пониженную частоту, но обеспечить синхрон.

Говоря о том, что вы не понимаете, как это работает и как этим можно пользоваться, я совершенно не собирался и не собираюсь вас задевать. Только ваши претезнии вида "хочу чтобы весь фарш летал на максимальной скорости", предельно ясно дают понять, что вы еще не в курсе, что воспользваться плодами этих скоростей никогда не сможете. Т.е. вы ставите в вину устройству то, что никогда не может быть востребованно. Как хотите, но это полный аут.

Цитата:
И вывод мои просты: 1. больше я его не трогаю. 2. Проектирование на нем имеет высокие риски, из за неявных ограничений архитектуры, которые проявляются слишком позно.

Вы имеете полное право говорить, что STM32 вам не нравятся по любой причине, за исключением выдуманных. Про "неявные ограничения архитектуры" ничего не знаю и никогда с ними не сталкивался. Не соответствие собственных представлений с реальными характеристиками железа "неявными ограничениями архитектуры" не являются и не могут являться. В целом же, подход "не зная броду" действительно может быть сопряжен с рисками и тут мне ваши опасения понятны.

Цитата:
Мощность процессора избыточна для простых поделок (как все что тут на форуме)  и недостаточна для сложного следующего уровня (мультимедиа, контроллеры на езернете, и т.д.), уж лучше малинка или оранж да линукс.

У вас никогда не было ситуации, когда производительности ардуины не хватает для вроде бы несложной задачи? Причем даже не для всей задачи, а только одного маленького этапа. Возникает одно узкое место, которое губит всю идею на корню. А вот у меня такое почему-то случается гораздо чаще, чем того бы хотелось.

Или другой пример. Вы наверное в курсе, что в "проектах" довольно популярна осциллографическая тема. Разогнанный ардуина восьмибитным АЦП цифрует на невысокой частоте аналоговый сигнал. Сами можете представить, как бы изменилась ситуация, если бы тем же самым занялся mapple его двумя АЦП мегасеплового разрешения. Характеристики конечного устройства изменились бы радикально. И не больно то под эту задачку малинку прикрутишь.

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

Цитата:
Пролетает он между двумя нишами, нет под него задач

Стмщики кричат, что атмега умер, ардунищики заявляют, что стм -- мертворожденный дегенерат. Не знаю, кому верить, поэтому пользуюсь обоими. :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

a5021, помнится мы с вами уже холиварили на тему этих камней, в то время, когда я STM32 видел только "в теории". Не могу сказать что уже "опробовал", но ваши оппоненты в чем-то тем не менее правы: организация этих камней (STM) сильно отличается от "традиционной", к которой я отношу и PIC и AVR системы, что и отражается в их постах.

Но, меня сейчас заинтриговал ваш опыт как на AVR, так и на ARM и к Вам вопрос/предложение: можете ли Вы выложить полные варианты скетчей на Асм для решения одной и той же задачи на обоих архитектурах, скажем что-то несложное, но и не примитив типа "генерация бесконечного меандра ногодрыгом" ..

Скажем управление яркостью пары светодиодов, один независимо и плавно с какой-то частотой, а второй с переключением 2-х частот от аналогово уровня (потенциометра) в режиме "Блин без делай"... думаю в свете прошлых обсуждений всем будет интересно посмотреть разницу в объемах кода и данных для Ардуино и СТМ в случае полноценного набора команд (не сокращенного!).

Ну и очень хочется поддержать ваши высказывания про "мнения спецов и порог входа" .. всё это чушь и "каждому овощу свое место и применение". В последнем утверждении полностью с Вами согласен.

ssss
Offline
Зарегистрирован: 01.07.2016

Arhat109-2 пишет:

Скажем управление яркостью пары светодиодов, один независимо и плавно с какой-то частотой, а второй с переключением 2-х частот от аналогово уровня (потенциометра) в режиме "Блин без делай"... думаю в свете прошлых обсуждений всем будет интересно посмотреть разницу в объемах кода и данных для Ардуино и СТМ в случае полноценного набора команд (не сокращенного!).

Дело не в объёмах кода. На СТМ32 размер кода может быть как и чуть больше, так и чуть меньше, так и значительно меньше, в зависимости от реализации задачи. А возможностей реализации задачи у СТМ32 будет поболее, вплоть до полностью хардварного решения, чего нет у Меги. Поэтому и тратить время на подобные сравнения просто нет смысла, Ардуина на Меге заведомо проиграет.

Цитата:

Ну и очень хочется поддержать ваши высказывания про "мнения спецов и порог входа" .. всё это чушь и "каждому овощу свое место и применение". В последнем утверждении полностью с Вами согласен.

А я бы не спешил соглашаться с такими мнениями. Это как отвергнуть таблицу умножения, типа калькулятор же есть.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Уважаемый Logic, вы взяли за пример АЦП STMки, а так же можно залезть в даташит любой AVRки и найти там такой параметр, который действительности не соответствует...

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

А по теме размера кода - если уйти от фреймворков (хотя бы пересесть с SPL на CMSIS), то код не очень-то и большой. Моя библиотека для F030 на STM32 занимает меньше места, чем ардуинская. Не забываем, что у того же F103VET6 полметра флеша! Под каждую задачу - свой контроллер.

#Оффтоп: сейчас жду STM8S003 по 15р/шт. Это дешевле, чем АТТини13. В 2 раза. Самое то для микропроектов. А в относительно больших проектах использую F030F4P6 и F030C8T6.

Logik
Offline
Зарегистрирован: 05.08.2014

a5021 Пишите еще больше! Решили лапшей на уши завалить? Выбираю существенное.

\\Ouput mode bits отвечают за эпюры напряжений выходного сигнала (скорость нарастания)

"Эпюры" - оч расплывчато написано, что конкретно меняется на ней? время от команды до достижения уровня, минимальная длительность нахождения в состоянии, крутизна фронта и т.д. Вы пишите "скорость нарастания" - это та которая В/мксек. Там такое нкаписано?  Чтоб Ваше утверждение не было голословным бредом делайте ссылки на источники.  В документе четко приведено частота, значить частота. Я вобщем именно для STM не исключаю, что снова несоответствие между документом и реальностю, после АЦП уже не удевительно.

\\Ядро может работать на 72мгц ? Может. АЦП может выдавать результаты оцифровки со скоростью один миллион цифровых результатов в секунду? Может..

Не могут одновременно. Не прикидуйтесь идиотом. Если автомобиль на холостом ходу жрет 1л/ч и может ехать 160км/ч это не дает право заявлять "скорость 160 расход 1л". 

\\более новые модели STM32 имеют свой обособленный генератор тактовой частоты 14мгц для АЦП....

Т.е. авторы признали лажу (а Вы до сих пор сопротивляетесь))) и давай решать.. Дальнейший рассказ о том как новый костыль исправил старую лажу попутно породив пару новых - ну интересен тем кто не знает как выращивать геморой в айти, я знаю, мне скучно. И особо скучно потому что путь "купите наше новое потому что исправили много ошибок старого" я тоже знаю, он ведет по кругу. 

\\Только ваши претезнии вида "хочу чтобы весь фарш летал на максимальной скорости", предельно ясно дают понять, что вы еще не в курсе, что воспользваться плодами этих скоростей никогда не сможете. 

Да хочу, чтоб все как заявлялось и чтоб не хуже. Что не так? Без лоха- жизнь плоха? То что тем кто в теме STM понятно " что воспользваться плодами этих скоростей никогда не сможете", так мне тоже стало понятно после знакомства с ним. Запишите это в доках, на первой странице крупно так как девиз (я пожалуй себе эту фразу в цитатник, как кратко но точно характеризующую STM )))) 

" воспользваться плодами этих скоростей никогда не сможете"

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

\\У вас никогда не было ситуации, когда производительности ардуины не хватает для вроде бы несложной задачи? 

Нет, не возникало. Потому как перед тем чтоб начать писать код проводится проектирование решения, оцениваются потребные обемы памяти, переферия и быстродействия, после этого открывается каталог (возможно каталоги разных производителей) и выбирается на чем это можно делать, из того на чем можно делать выбирается знакомое и дешевое.  Это я вам не зря тут разжовываю - это чтоб Вы представляли важность заявленных характеристик и представили в что может вылится их несоответствие обнаруженное сильно позно. Теперь я думаю Вы поймете куда идут аргументы про глубокие знания архитектуры  и возможность получить нужное на 56МГц логически вытекающий после прочтения 300стр. 

 

\\Или другой пример. Вы наверное в курсе, что в "проектах" довольно популярна осциллографическая тема. 

тролите или издеваетесь? -

 http://arduino.ru/forum/proekty/mini-ostsillograf-arduino-na-lcd-5110?page=6#comment-167864

http://arduino.ru/forum/proekty/mini-ostsillograf-arduino-na-lcd-5110?page=6#comment-167963

Там дето дальше еще про входное сопротивление АЦП, которое требует ОУ.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

sss, когда речь идет за "альтернативные возможности" камней - речи нет. Logik правильно изложил: сначала смотрится КАКОЙ набор каменей решает задачу, а потом уже делается выбор в пользу того или иного.

Меня как раз интересует сравнение решений идентичной задачи .. и в чем конкретно проиграет дунька и какая или наоборот стм-ка .. вот как раз интересно. Почему и попросил реализовать в полномерной системе команд, а не "укороченной" (её не зря добавили, однако).

P.S.

У меня получались те самые соотношения, которые я озвучивал в предыдущем обсуждении: рост размеров кода и данных примерно в 2.5 раза. Отсюда, большие объемы флеша и озу - ещё ни разу не означает увеличение возможностей в реализации. равно как и приводит к потере скорости исполнения. И такие соотношения на одинаковой задаче - тоже "критерий выбора", пусть и далеко не самый важный.

.. но, я - не спец по стм-кам, вот и интересно, что получится у спеца.

Logik
Offline
Зарегистрирован: 05.08.2014

Arhat109-2 БПФ устроит или что на ввод-вывод (экран ногодрыгом) ориентированое? Предвижу  ответ - и то и то ))))

В принципе можна попробовать. Самому интересно, только интересно с дизассемблером а я шото не увидел как в ардуине для STM дизассемблернуть, может кто в курсе?

Logik
Offline
Зарегистрирован: 05.08.2014

А пока в раздумях. Я попробовал скомпилировать свой тест экрана, он уже есть живой для 2-х платформ. Сразу результат.

Для 328р
 
Sketch uses 12 648 bytes (41%) of program storage space. Maximum is 30 720 bytes.
Global variables use 486 bytes (23%) of dynamic memory, leaving 1 562 bytes for local variables. Maximum is 2 048 bytes.
 
Для STM32F103C8T6
Sketch uses 21 828 bytes (19%) of program storage space. Maximum is 110 592 bytes.
Global variables use 3 864 bytes of dynamic memory.
 
Теперь условия. ИДЕ 1.6.5
Исходник одинаков, рисует рамочки треугольнички и т.д. не гарантирую его идентичность с тем откуда он стянут, но в обоих случаях он был одинаков за исключением  инклудов - для STM есть #include "itoa.h", а для 328р #include <avr/io.h>
#include <avr/pgmspace.h>. 
Использует Serial.
 
Либа экрана - одна  и та же, поддерживающая оба проца используя условную компиляцию.
Вывод максимально быстрый ногодрыг (обращаю внимание на NOP для stm, без них не работает), приведу низкоуровневые операции для подопытных.
 
328р

#define DATAPORT1 PORTD
#define DATAPORT2 PORTB
....
#define LCD_WR A3
#define LCD_RD A4

//макросы расшифровки номерации пинов ардуино в порт и пин AVR
#define  ARDUINO_PORT(a)    ((a<8)?PORTD:(a<14?PORTB:PORTC))
#define  ARDUINO_PIN_NUM(a) ((a<8)?a:(a<14?(a-8):(a-14)))

// Ќа указанном порту должны располагатс¤ все управл¤ющие сигналы
#define Port_Control ARDUINO_PORT(LCD_CS)  //порт определ¤ем по одному из сигналов управлени¤

// управл¤ющие сигналы (номер пина на порту) располагаютс¤ на  порту Port_Control так:
#define RdPIN_Port_Control    ARDUINO_PIN_NUM(LCD_RD)
#define WrPIN_Port_Control    ARDUINO_PIN_NUM(LCD_WR)
....

//битовые маски паралельной шины
#define DATA1_MASK 0xFC  // top 6 bits
#define DATA2_MASK (~DATA1_MASK)  // bottom 2 bits

//служебные макросы дл¤ управлени¤ обменом.
#define PinWr_Pulse bitClear(Port_Control, WrPIN_Port_Control); bitSet(Port_Control,WrPIN_Port_Control);
#define PinRd_Pulse bitSet(Port_Control,RdPIN_Port_Control);bitClear(Port_Control, RdPIN_Port_Control); 


#define write8n(d)  DATAPORT2 = (DATAPORT2 & DATA1_MASK) | (d & DATA2_MASK);  \
                    DATAPORT1 = (DATAPORT1 & DATA2_MASK) |(d & DATA1_MASK);

#define writeData_unsafe8n(d)     write8n(d >> 8);PinWr_Pulse;write8n(d);PinWr_Pulse;




stm

//служебные макросы дл¤ управлени¤ обменом.
#define PinWr_Pulse {gpiob.regs->BSRR= 0x00040000;gpiob.regs->BSRR= 0x00000004;}
#define PinRd_Pulse {gpioa.regs->BSRR= 0x00004000;asm volatile ("nop");asm volatile ("nop");gpioa.regs->BSRR= 0x40000000;asm volatile ("nop");asm volatile ("nop");}

					
#define write8n(d) { \
 gpioa.regs->ODR=(gpioa.regs->ODR&0xdeff) | ((d<<6)&0x0100) | ((d<<13)&0x2000);  \ 
 gpiob.regs->ODR=(gpiob.regs->ODR&0x03ff) | ((d<<8)&0xf800) | ((d<<9)&0x0400);asm volatile ("nop");asm volatile ("nop");asm volatile ("nop"); \ 
}


#define writeData_unsafe8n(d)     write8n(d >> 8);PinWr_Pulse;write8n(d);PinWr_Pulse;

В либе преимущественно 16-битные числа (не нашим-не вашим!!), координаты, цвет и т.д.  Но итераторы в циклах и вывод на экран понятно 8-битный. Только что заметил что при выводе треугольников вовсю 32-битные используются, в тесте присутствует, видно мои руки не дошли до такого важного примитива как триугольник. 

Из результата сразу видно, что stm много озу отожрал, думаю это из-за фонтов у него они без PROGMEM, так я и не понял, есть она у него или нет. Фонты в ОЗУ правда только 256 символов по 5 байт = 1280 байт. Наверно еще на поддержку USB много ушло.

 

a5021
Offline
Зарегистрирован: 07.07.2013

ssss пишет:
А я бы не спешил соглашаться с такими мнениями. Это как отвергнуть таблицу умножения, типа калькулятор же есть.

Таблицы Брадиса еще вспомните. Часто нынче пользуете?

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

А теперь давайте ваши бронебойные аргумены вида "Вот оказались вы в глухой тайге, где на тысячи километров ни одной живой души и вам необходимо взять тройной интеграл."

ssss
Offline
Зарегистрирован: 01.07.2016

Что вы! Для новичка нахвататься верхушечек самое оно. Вам же не нужно уметь работать с МК, вам важнее чтобы оно хоть как-то работало.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Logik, спасибо. Возможно оказало большое влияние разница в библиотеках, но в целом, цифирьки подобны и воспроизводимы. Если переместить ваши шрифты во флеш то получим: флеш 23108 против 12648 байт или увеличение объема программ 1.827 раза. Как следствие снижение интегральной частоты с 72 до 40мегагерц. И занятое ОЗУ составит 2584 против 486 байт. Или рост требуемой памяти 5.32 раза и, соответственно, как следствие дальнейшее снижение "эффективной частоты камня" .. как миниум в 2 раза. Меньше, поскольку использована разрядность 16 бит, вместо родных 32.

Итого (проверьте пожалуйста этот вывод на деле), можно ожидать, что код для Меги будет работать примерно с той же скоростью, что и для STM32. В среднем, "по больнице" (найденной мною литературе, не сохранял ссылки ибо искал "для себя") коэффициенты примерно следующие: рост кода 1.6, рост ОЗУ 3.5.

Конечно же это очень грубо и примитивно, и сильно зависит от качества используемых библиотек, но. Примерно такие коэффициенты надо принимать в расчет при выборе камня при "прочих равных"... то есть, когда задачу можно решать и так и этак.

Ждем, возьмется ли a5021, продемонстрировать иной результат на одной из предложенных задач, в общем-то все равно на какой.

Logik
Offline
Зарегистрирован: 05.08.2014

В общем согласен. Конкретное значение коэффициентов не так уже и важно, т.к. будет зависить от задачи, почему я и предлагал выбрать сразу тип задачи - расчет БПФ или ногодрыг. Но волею судьбы уменя оказался, как мне кажется, довольно хороший компромисный пример.  БПФ кстати тоже не сложно протестить. 

a5021
Offline
Зарегистрирован: 07.07.2013

ssss пишет:

Что вы! Для новичка нахвататься верхушечек самое оно. Вам же не нужно уметь работать с МК, вам важнее чтобы оно хоть как-то работало.

А судьбу вы по фотографии не умеете предсказывать? Судя по тому, как вы быстро для себя решили, кто есть кто, навык используется тот же.

Сами то не боитесь, что я вас на верхушечках поймаю, умелец по работе с МК ?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Шрифты можно грузить и во флэш. И читать безо всяких progmem.h, ведь адресное пространство едино. Я картинку в 25Кб отображал на МК с 4Кб ОЗУ, явно картинка во флеше лежала)

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:

Ждем, возьмется ли a5021, продемонстрировать иной результат на одной из предложенных задач, в общем-то все равно на какой.

Не возьмется. Напрасный труд меня не вдохновляет. Вы же грезите доказать, что STM32 -- дерьмо? Поэтому, что бы я не написал, оно будет негодным результатом, некорректным сравнением и неподходящим примером.

Вы какие там байты сравниваете? Что с чем? Один вызов itoa тянет за собой несколько кил всякой строковой дребедени. Уверен, что либы для stm32 сами по себе толще, чем их аналоги для авр.

На stm32  я постоянно для отладки использую форматированный вывод в последовательный порт посредством printf. А тут запилил маленькую фигню на stm8s003 и на отладке по привычке воткнул все тот же printf. Оказалось, что код из десяти строк сожрал практически весь флеш (7498 байт). Убрал printf оно усохло до 810 байт.

 

a5021
Offline
Зарегистрирован: 07.07.2013

Yarik.Yar пишет:

Уважаемый Logic, вы взяли за пример АЦП STMки, а так же можно залезть в даташит любой AVRки и найти там такой параметр, который действительности не соответствует...

Чего далеко за примерами ходить. Для тактирования АЦП меги имеется выбор из несколько частот. При стандартных 16мгц главной частоты, делителями можно выбрать 1мгц, 500кгц, 250кгц и 125кгц в качестве тактовой для АЦП. Ай, какой шикарный и исчерпывающий все мыслимые случаи, выбор. Но только в том же даташите на мегу парой строк отдельно оговаривается, что для десятибитной точности АЦП частота тактирования этого блока не должна превышать 150-200 килогерц. Вот прямо так, бах, и весь выбор съежился до одного пункта. Вьедливому потребителю тут же бы возмутиться, зачем, дескать, тогда эти мегагерцы и пол-мегагерцы, если использовать из полноценно нельзя? Но нашему въедливому потребителю насрать, какие врожденные дефекты имеет мега, т.к. главная цель у него доказать, что STM32 -- дерьмо, а что при этом придется передергивать, где стыдливо не замечать и отводить глаза, дело десятое.

Пока разбирали ногодрыг, неумение stm32 дергать ногами с частотой тактовой подносилось носителями альтернативных взглядов, как такой недостаток, что stm32 должен быть немедленно с помощью пинцета отправлен в мусорное ведро. Пинцет тут нужен, чтобы руки не испачкать. Мое замечание насчет того, что мега тоже ногами с частотой тактовой не умеет дергать, было награждено холодным и презрительным молчанием. Вот и вся аргументация.

ssss
Offline
Зарегистрирован: 01.07.2016

a5021 пишет:

Пока разбирали ногодрыг, неумение stm32 дергать ногами с частотой тактовой подносилось носителями альтернативных взглядов, как такой недостаток, что stm32 должен быть немедленно с помощью пинцета отправлен в мусорное ведро. Пинцет тут нужен, чтобы руки не испачкать. Мое замечание насчет того, что мега тоже ногами с частотой тактовой не умеет дергать, было награждено холодным и презрительным молчанием. Вот и вся аргументация.

Эмммммм... При долговременном последовательном ногодрыге макс. частота  - четверть от тактовой. Для F2,F4 - половина от тактовой. Но если подумать и задействовать железо, а не ногодрыг, то и на F0 можно получить половину от тактовой. Ну а чего, WR с частотой 24 МГц для TFT тоже себе так ничего. Для TFT Мега будет вообще тяжёлым случаем.

Logik
Offline
Зарегистрирован: 05.08.2014

a5021 пишет:

Один вызов itoa тянет за собой несколько кил всякой строковой дребедени. Уверен, что либы для stm32 сами по себе толще, чем их аналоги для авр. 

Он присутствует в обоих сборках. Тянет порядка 100-200 байт (а чему в нем тянуть?! Делению)))). Да его реализация под STM вероятно более ресурсоемка, как впрочем и реализация всего остального )))

 

a5021 пишет:

На stm32  я постоянно для отладки использую форматированный вывод в последовательный порт посредством printf. А тут запилил маленькую фигню на stm8s003 и на отладке по привычке воткнул все тот же printf. Оказалось, что код из десяти строк сожрал практически весь флеш (7498 байт). Убрал printf оно усохло до 810 байт.

Прожерливость printf хороше всем известна. Удивлен что такой знаток её применяет и еще "открывает америку". Сообщу Вам на всяк еще, что она шалит с динамической памятю и вполне реальна ситуация когда ей памяти не хватит. Потому в дальнейшем для отладки применяйте  itoa.

a5021
Offline
Зарегистрирован: 07.07.2013

ssss пишет:
Эмммммм... При долговременном последовательном ногодрыге макс. частота  - четверть от тактовой

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

В самом свербыстром ногодрыге практической пользы не много. Процессорный ресурс может сожрать полностью, что на остальное уже ничего не останется. Напротив, умеренно-быстрый ногодрыг вполне располагает для применения его с пользой. И здесь стм32 вне конкуренции, чего бы ни говорили злопыхатели.

ssss
Offline
Зарегистрирован: 01.07.2016

Если честно, в нём вообще никакого смысла нет, для СТМ32.

a5021
Offline
Зарегистрирован: 07.07.2013

Правда? Второй порт уарт сможете на f030f4 изобразить без него? Мне нужен.