Jump to content

    

STM32CubeIDE

Я начинающий любитель  STM32 делаю простейшую задачу на STM32F746G-DISCO. 
CudeIDE вполне для меня понятен НО попытка объединить эту среду с  TouchGFX Designer потерпела фиаско.
Подключаю и рисую первые 2 экрана в TouchGFX. Все Гут - работает заливается в контроллер нажимаются кнопки....
НО как только я пробую внести любое изменения в проект на TouchGFX - CudeIDE выдает кучу ошибок и в общем с моим потенциалом работа заканчивается. Появляется большое количество ошибок.
Порвал 6 бубнов. Расковырял TouchGFX и у него есть возможность править код НО получить адекватного взаимодействия с CudeIDE не могу. 
Собственно мне надо 3 АЦП прикрутить к 2 ШИМ а как настроить это добро в TouchGFX , который крайне НЕ расположен к подобным манипуляциям.
В среде CudeIDE все работает на Ура. Нужен красивый интерфейс, а его как раз в CudeIDE и нет.
Хелп гайз бубны кончились грызу клавиатуру.

Edited by Boris_Latysh

Share this post


Link to post
Share on other sites

Отдайте на аутсорс, не мучьте себя.

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

 

Пфф, classic...:wacko2:

Share this post


Link to post
Share on other sites
3 часа назад, Arlleex сказал:

CubeMX ... может отлично компилить костыльно-показательный код,

"слышу звон, да не знаю где он". Не путайте тёплое с мягким.  CubeMX не может ни чего компилировать. CubeMX  может только генерировать исходный код. Компилирует в CubeIDE по дефолту gcc. CubeIDE - это всего лишь IDE редактор кода с плюшками. В нём можно не использовать плюшку CubeMx, можно не использовать HAL.

Share this post


Link to post
Share on other sites

начинающий любитель STM32 делаю простейшую задачу на STM32F746G


Какие нынче начинающие занятные любители начались ;-) F746 (CM7) для разминки и задачки простейшие ;-)

Share this post


Link to post
Share on other sites
1 час назад, juvf сказал:

"слышу звон, да не знаю где он". Не путайте тёплое с мягким.  CubeMX не может ни чего компилировать...

Ок. По мне, вся эта мишура с припиской Cube - одного поля ягода. Минного поля, если что:bomb::biggrin:

Впрочем, как и все другие тулзы, "генерирущие код".

 

ИМХО, проще разобраться с отрисовкой экрана на выбранном МК и замутить самому GUI-движок с блэкджеком и анимацией, чем быть зависимым от малейшего чиха таких, как, например, TouchGFX. Это если с заделом на будущее. Если же надо быстро и чтоб показывало вид, что работает, то пожалуйста, вот вам кубики/GFX-ы, лопата рядом:spiteful:

 

17 минут назад, Obam сказал:

Какие нынче начинающие занятные любители начались ;-) F746 (CM7) для разминки и задачки простейшие ;-)

+1:prankster2:

Share this post


Link to post
Share on other sites
6 часов назад, Arlleex сказал:

ИМХО, проще разобраться с отрисовкой экрана на выбранном МК и замутить самому GUI-движок с блэкджеком и анимацией

Ого.... вы посмотрите демки на TouchGFX ( раз, два, ....) Это не примитивный пиксельный вывод текста. Сколько человекочасов нужно на подобный движок? Вы ещё скажите "мне проще самому замутить GUI-движек, чем использовать Qt".

Share this post


Link to post
Share on other sites
35 minutes ago, juvf said:

Сколько человекочасов нужно на подобный движок?

Наверно много... но мы делали свою графическую библиотеку (без анимации и видео) в среднем 1 человеко-месяц (не считая потом мелких разных правок).

36 minutes ago, juvf said:

ещё скажите "мне проще самому замутить GUI-движек

Кстати, это может быть оптимальней. Пример где-то на форуме проскакивали.

Share this post


Link to post
Share on other sites
10 часов назад, Obam сказал:


Какие нынче начинающие занятные любители начались ;-) F746 (CM7) для разминки и задачки простейшие ;-)

После Ардуино и великолепного Атмела мозг пухнет. 
Укажи ногу - Настрой ногу - Включи АЦП - Настрой регистры - Прочитай АЦП - выключи АЦП.....  
Вместо старого доброго С++ получаем почти Ассемблер с пошаговым управлением на уровне внутренней логики.  CubeIDE  конечно намного упростило эту задачу но учитывая версию 1.0 мы в начале большого пути. Есть устойчивое подозрение что недостатки внутренней конфигурации в STM32 компенсируют использованием внешних команд. Что косвенно приводит к мысли что 87 МГц Атмел может оказаться более производительным чем 200 МГц STM32. По хорошему привлекла возможность использовать ЖК точскрин причем как повод была презентация TouchGFX в остальном Атмел явно привлекательнее.

Edited by Boris_Latysh

Share this post


Link to post
Share on other sites

Boris Latysh - вы в качестве первого контроллера STM32 выбрали явно не тот вариант, который нужен. Рекомендую попробовать поработать с STM32F030K6.

Share this post


Link to post
Share on other sites
5 минут назад, Boris_Latysh сказал:

После Ардуино и великолепного Атмела мозг пухнет. 
Укажи ногу - Настрой ногу - Включи АЦП - Настрой регистры - Прочитай АЦП - выключи АЦП.....  

"После написания программ на прикладном уровне, от программирования на уровне ядра/периферии мозг пухнет". Ардуино - это прикладной уровень. Все низкоуровневые "драйвера" написаны и оформлены в некий фреймворк (в классы).

В STM32 "Укажи ногу - Настрой ногу - Включи АЦП - Настрой регистры - Прочитай АЦП - выключи АЦП" - это драйвер. В Атмеле (который уже давно микрочип)  всё тоже самое, если не использовать готовые либы.

Share this post


Link to post
Share on other sites
15 минут назад, Boris_Latysh сказал:

Есть устойчивое подозрение что недостатки внутренней конфигурации в STM32 компенсируют использованием внешних команд. Что косвенно приводит к мысли что 87 МГц Атмел может оказаться более производительным чем 200 МГц STM32. По хорошему привлекла возможность использовать ЖК точскрин причем как повод была презентация TouchGFX в остальном Атмел явно привлекательнее.

Кто-ж Вас так заставляет использовать куб??? Просто не используйте и всё.  :unknw:

Share this post


Link to post
Share on other sites
32 minutes ago, Boris_Latysh said:

Вместо старого доброго С++ получаем почти Ассемблер

Не совсем. Вы можете использовать методы ООП для этой последовательности. С ассемблером такое не прокатит. Ну, а инициализация периферии, вещь иногда весьма утомительная на любом МК. Даже на ATTiny2313 (был такой хомячоГГ в 2004-х годах)).

Share this post


Link to post
Share on other sites

 Я пока остановился на варианте:
Взять за основу проект TouchGFX с модным интерфейсом и интегрировать туда свои выкрутасы с АЦП и ШИМ-ом. Сказать легко. С классами в TouchGFX вроде разобрался но вот есть подозрение что должен там быть какой то  простой "инструмент" для работы с периферией так как инициализация этих портов и ног есть.
Любая попутка изменить настройки АЦП или ШИМ, через CoubeIDE приводят к ошибкам в работе TouchGFX. 

Share this post


Link to post
Share on other sites

Вы взяли не самый простой (не сказать, что сложный - посто "нафаршированный") контроллер. Совет тут один (несчётное число раз даденый) - "курение" документации и под отладчиком смотреть как это работает. Кстати, на ваш атмель (87 МГц - это ж arm-cortex?) документация не сильно меньше\проще, чем на stm.

Укажи ногу - Настрой ногу - Включи АЦП - Настрой регистры - Прочитай АЦП - выключи АЦП


"embed" он такой ;-)
Во-первых, тактирование подавай на всё, что используется...
Во-вторых, на всём порту сразу настрой выводы так как нужно...
В-третьих, выключать АЦП зачем?

Share this post


Link to post
Share on other sites

Доброго времени суток! Кто-нибудь знает, как можно в Live Expression модифицировать значения переменных без приостановки отладчика? У меня получилось, только во вкладке Expression, во время приостановки отладчика модифицировать значение. А хотелось бы, как в IAR - на лету.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now