STM32
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 11 июл 2018, 05:59
- Имя: Роман
STM32
Добрый день Всем.
Прежде всего хочу выразить огромную благодарность автору и всему сообществу за создание поддержание программного языка FLProg, отличный программный продукт.
Вот назрел вопрос к знатокам и автору, а возможно ли появление в списке STM32F103C8T6 контроллера, у меня периодически возникают проблемы с ардуино контроллерами поэтому я периодически использую stm32, они с более широкими возможностями и по портам и по периферии?
Прежде всего хочу выразить огромную благодарность автору и всему сообществу за создание поддержание программного языка FLProg, отличный программный продукт.
Вот назрел вопрос к знатокам и автору, а возможно ли появление в списке STM32F103C8T6 контроллера, у меня периодически возникают проблемы с ардуино контроллерами поэтому я периодически использую stm32, они с более широкими возможностями и по портам и по периферии?
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 11 июл 2018, 05:59
- Имя: Роман
- nalnik
- Подполковник
- Сообщения: 1320
- Зарегистрирован: 14 май 2016, 17:12
- Откуда: Кисловодск
- Имя: Александр
STM32
А можно узнать какие?romanmeteo писал(а): 13 июл 2018, 13:35у меня периодически возникают проблемы с ардуино контроллерами
Я хочу быть добрее, но люди сами нарываются.
STM32
обещали поддержку, я только что в другом посте написал про свой опыт теста пакета стм32
простой блинк почти 10к сожрал
вот проглядел сейчас и собрал не блинк, а рфид
Example sketch/program showing how to read data from a PICC to serial.
This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
Sketch uses 26356 bytes (40%) of program storage space. Maximum is 65536 bytes.
Global variables use 1288 bytes (6%) of dynamic memory, leaving 19192 bytes for local variables. Maximum is 20480 bytes.
а вот и блинк
Sketch uses 10156 bytes (15%) of program storage space. Maximum is 65536 bytes.
Global variables use 892 bytes (4%) of dynamic memory, leaving 19588 bytes for local variables. Maximum is 20480 bytes.
а вот для сравнения тот же блинк для меги328
Sketch uses 928 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
если взять процентное соотношение, то стм32 тут проигрывает и для плк я не вижу особого выигрыша (можно взять ардуину мега), а гимора с библиотеками хватит с головой
надо у флпрог менять концепцию и уходить с ардуины, т.к. генерируемый сишный код все равно непригоден для чтения, то пусть флпрог генерит не ардуиновский с++, а чистый си, который можно скормить компилятору кейла или какой там сейчас самый крутой компилятор считается
и еще надо сделать отдельную прогу или плюшку в флпроге, которая позволит делать не только пользовательские библиотеки из кода или модулей, но и полностью интерфейс, где можно будет мышкой выбирать из готовых значений как это у встроеных модулей
простой блинк почти 10к сожрал
вот проглядел сейчас и собрал не блинк, а рфид
Example sketch/program showing how to read data from a PICC to serial.
This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
Sketch uses 26356 bytes (40%) of program storage space. Maximum is 65536 bytes.
Global variables use 1288 bytes (6%) of dynamic memory, leaving 19192 bytes for local variables. Maximum is 20480 bytes.
а вот и блинк
Sketch uses 10156 bytes (15%) of program storage space. Maximum is 65536 bytes.
Global variables use 892 bytes (4%) of dynamic memory, leaving 19588 bytes for local variables. Maximum is 20480 bytes.
а вот для сравнения тот же блинк для меги328
Sketch uses 928 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
если взять процентное соотношение, то стм32 тут проигрывает и для плк я не вижу особого выигрыша (можно взять ардуину мега), а гимора с библиотеками хватит с головой
надо у флпрог менять концепцию и уходить с ардуины, т.к. генерируемый сишный код все равно непригоден для чтения, то пусть флпрог генерит не ардуиновский с++, а чистый си, который можно скормить компилятору кейла или какой там сейчас самый крутой компилятор считается
и еще надо сделать отдельную прогу или плюшку в флпроге, которая позволит делать не только пользовательские библиотеки из кода или модулей, но и полностью интерфейс, где можно будет мышкой выбирать из готовых значений как это у встроеных модулей
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
STM32
Одно маленькое, но весомое, замечание на Ваши "хотелки".kalobyte писал(а): 13 июл 2018, 14:37надо у флпрог менять концепцию и уходить с ардуины, т.к. генерируемый сишный код все равно непригоден для чтения, то пусть флпрог генерит не ардуиновский с++, а чистый си, который можно скормить компилятору кейла или какой там сейчас самый крутой компилятор считается
и еще надо сделать отдельную прогу или плюшку в флпроге, которая позволит делать не только пользовательские библиотеки из кода или модулей, но и полностью интерфейс, где можно будет мышкой выбирать из готовых значений как это у встроеных модулей
Автору, как и большинству пользователей, важным является графическое создание программы.
Что-бы Вы сказали, если на выходе FLProg будет бинарник?
Кстати, тема хотелок не здесь.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
STM32
так и должен быть бинарник
флпрог будет запускать мейк файл для кейла
так я нигде и не говорил, что надо переходить на кодSancho писал(а): 13 июл 2018, 14:47Автору, как и большинству пользователей, важным является графическое создание программы.
я говорю, что флпрог должен уйти от ардуины, т.к. ардуина это упрощенное программирование в коде, а флпрог генерит нечитаемый код, но компилятору на это по барабану
однако библиотеки и язык ардуины дают большой оверхед, особенно для стм32, что делает бессмысленным переходит на стм32, т.к. никакого выигрыша в памяти нет, следовательно время будет потрачено зря
а вот если флпрог будет использовать чистый си в блоках и библиотеки на чистом си, то тогда будет большой выигрыш у стм32 по памяти, скорости, количеству выводов и перефирии и самое главное по цене
я смотрел цену на blue pill - она стоит как ардуина мини, но у таблетки больше выводов, есть железный усб, часы, железная пищалка, модуля рассчета црц, уникальный серийник (можно привязывать прошивку к железке) и еще куча всего, что делает мегу328 непригодной для дальнейшего использования и следовательно нет смысла тратиться поддержку на устаревшего контроллера
еще более перспективное направление - осрв типа freertos или вот довольно известный человек, они пилят другую осрв вместе с немцами
https://www.youtube.com/watch?v=finP05FFTv8&t=3546s
придумать бы блок ртос и потом подцеплять к нему модули или как-то так
это пока мои размышления о дальнейшем развитии флпрог, хотелки слишком жирные
-
- Полковник
- Сообщения: 3358
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
STM32
Достал свой STM32. Прошивается с помощью STM FlashLoader Demo.exe. Но никак не смог с помощью UART и ST-LINK, пишет при прошивке по UART: Couldn't find the DFU device: [1EAF:0003]. Так и не смог решить, хотя все делал по инструкциям.
PS. Решил, пытался прошивать через адаптер UART. Подключил к USB STM32, заработало все.
PS. Решил, пытался прошивать через адаптер UART. Подключил к USB STM32, заработало все.
-
- Полковник
- Сообщения: 3358
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 13 раз
- Поблагодарили: 100 раз
- Контактная информация:
STM32
Попробовал скомпилировать в 3 контроллера программу эту.
[spoiler] [/spoiler]
В таблице все видно!
Ардуино код съедает в STM32 много памяти, но из за того , что у него объем памяти (особенно динамической) немалый (хоть основной меньше у МЕГИ) , он работает хорошо данной программой (с настройкой платы на 128к).
Кстати у моего STM 32 объем памяти 128к (хотя пишут 64к). Когда в настройках ставлю 64 -программа не влезает.
Использование в этом проекте STM в этой программе оправдывает себя полностью, экономически тем более. Нужно иметь только МК с памятью не менее128к, тогда ардуино проекты будут работать неплохо.
Такой вывод я получил, начав мучить его.
[spoiler] [/spoiler]
В таблице все видно!
Ардуино код съедает в STM32 много памяти, но из за того , что у него объем памяти (особенно динамической) немалый (хоть основной меньше у МЕГИ) , он работает хорошо данной программой (с настройкой платы на 128к).
Кстати у моего STM 32 объем памяти 128к (хотя пишут 64к). Когда в настройках ставлю 64 -программа не влезает.
Использование в этом проекте STM в этой программе оправдывает себя полностью, экономически тем более. Нужно иметь только МК с памятью не менее128к, тогда ардуино проекты будут работать неплохо.
Такой вывод я получил, начав мучить его.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4005
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
STM32
Подтверждаю, все как Вы написали.
Но STM32 в разы быстрее работает чем Mega,Uno - зависит конечно от проекта.
Если в нем есть встроенные delay() ( в библиотеках к примеру ), тут быстродействие процессора мало на что повлияет.
-------
И еще снова о замечательном качестве - толерантность многих пинов к +5в.
Но STM32 в разы быстрее работает чем Mega,Uno - зависит конечно от проекта.
Если в нем есть встроенные delay() ( в библиотеках к примеру ), тут быстродействие процессора мало на что повлияет.
-------
И еще снова о замечательном качестве - толерантность многих пинов к +5в.
-
- Полковник
- Сообщения: 4005
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 153 раза
STM32
Будет не большое отставание для конкретного момента, которое потом будет скомпенсировано в следующем периоде, например:Nikan писал(а): 17 июл 2019, 22:13 Ну наконец то прямой ответ появился...
еще бы один - что будет если время цикла ( в котором считываете показания переменных millis() и micros() )
превысит необходимый интервал в библиотеке?
500,500,499,501,500 - периоды в ms.
При правильно спроектированном проекте (среднего размере) изменение точности наступления события для Arduino Nano менее 1ms - я приводил фото с логического анализатора. На ESP32, STM32 - точность наступления каждого события в заданный период существенно выше.
Все это не так существенно в реальных проектах. В диспетчере есть и относительно точные метки времени (ограничения связаны с точностью таймеров контроллера) с периодом 10ms.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя