STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="pvit",url="/forum/viewtopic.php?p=3458890#p3458890"]Имелось в виду, что в коде очень мало завязок на HAL. Там математика и алгоритмы всякие. Ну и по вполне понятным причинам, имеющееся время хочется тратить именно на них.[/uquote]
Сразу почти с первой строчки:

Код: Выделить всё

// Polling for flag which indicates that ADC data is ready
    while (!adc_data_ready) {}
- очень плохой стиль! Никогда так не делаю и коллегам не позволяю.
Вот это одна из причин, почему не люблю всякие либы со стороны - там такого полно. А всё вычищать и переделывать, как тут некоторые предлагают, так это всю эту "либу" и придётся переделать. А это значит - всё равно изучать мануал. Так что быстрее - сразу начать с мануала.
Реклама
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

Я вроде объяснял про применимость поллинга. Заниматься болтовней про идеальный шарообразный код в вакууме не вижу смысла. Это ничего не прибавляет в голове.
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

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


А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...
Последний раз редактировалось dosikus Пн сен 17, 2018 18:13:26, всего редактировалось 1 раз.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="jcxz",url="/forum/viewtopic.php?p=3458895#p3458895"]

Код: Выделить всё

 while (!adc_data_ready) {}
- очень плохой стиль! Никогда так не делаю и коллегам не позволяю.[/uquote]
Самый плохой стиль -- это когда полуграмотный выскочка начинает изображать из себя крутейшего спеца. Там весь алгоритм завязан на поступлении данных с АЦП. Нет данных, значит делать нечего. Можно в сон МК класть, можно в цикле крутиться. Без разницы.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

Мда, это и есть то нев***ено уникальное устройство где нужна "необычная" мощь F103.
Медианный фильтр, PID регулятор...
Здесь и стм8L справится не то что F0.
Реклама
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="pvit",url="/forum/viewtopic.php?p=3458901#p3458901"]Я вроде объяснял про применимость поллинга. Заниматься болтовней про идеальный шарообразный код в вакууме не вижу смысла. Это ничего не прибавляет в голове.[/uquote]
Применимость для чего? Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.
Реклама
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Oxford »

pvit, используйте внешний кварц в своем проекте, тогда вместо 64мгц будет 72мгц. Теряете в производительности.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Применимость для чего?[/uquote]
Например для экономии времени разработки.
[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.[/uquote]
Спасибо, кэп. Но здесь нет нужды экономить потребление и нет других задач.

И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Oxford »

[uquote="dosikus",url="/forum/viewtopic.php?p=3458903#p3458903"]Вообщем задача -перетащить с аурдуньи в калокуб.
Здесь проще и действенней написать все с нуля.
Из того что успел ухватить - какой то регулятор скорости движка.


А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...[/uquote]

Ну там написано регулятор для Hilda 180W, плата под нее трассировалась.

Advanced speed control for grinder AC brushed motor. With RPM stabilization via Back EMF measure. Replacement for default board.

Только я не понял чей это проект и что надо.
Последний раз редактировалось Oxford Пн сен 17, 2018 18:37:53, всего редактировалось 1 раз.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7360
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: STM32 новичку в ARM что к чему

Сообщение uldemir »

Клава, я с вас торчу. Флейма уже на полдесятка страниц, но никто из крутых спецов так и не подсказал мне, что я высмотрел не ту функцию... плин, былв магазине, забыл попкорн купить
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

[uquote="dosikus",url="/forum/viewtopic.php?p=3457239#p3457239"]HAL_TIM_Base_Start_DMA - эта хрень только конфигурирует реквесты UP к DMA.
Все остальное - источник и приемник , размер данных, источник реквестов и счетчик конфигурируется в канале DMA , это если F1 в F4 -потоки.[/uquote]


uldemir, дуся . Внезапно да?
Тебе это с самого начала объяснили, но мы же видим только что нам надо...
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

[uquote="Oxford",url="/forum/viewtopic.php?p=3458916#p3458916"]pvit, используйте внешний кварц в своем проекте, тогда вместо 64мгц будет 72мгц. Теряете в производительности.[/uquote]
Нет потребности, да и людям меньше паять.

Хотелось бы вернуться к интересующему вопросу - какие есть варианты сваливания с куба малыми силами и без особой потери удобств.

Добавлено after 4 minutes 48 seconds:
[uquote="Oxford",url="/forum/viewtopic.php?p=3458920#p3458920"]Только я не понял чей это проект и что надо.[/uquote]
Мой и знакомого. В коммитах же авторы указаны.

Не то чтобы "надо", просто интересно стало "как там на CMSIS-ах бывает". Вы вроде в них разбираетесь, поэтому спросил.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="pvit",url="/forum/viewtopic.php?p=3458919#p3458919"]И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.[/uquote]
Конечно - дело Ваше.
Ещё бы я заменил реализацию синуса таблицей на реализацию полиномом. Всё-ж таки ARM, а не АВР какой-то....
Ещё плохой стиль - это "магические числа". Типа этого:

Код: Выделить всё

// it's length is two 50-Hz half-waves
constexpr int voltage_buffer_length = APP_TICK_FREQUENCY / 50;
У Вас там полно подобного.
Последний раз редактировалось jcxz Пн сен 17, 2018 19:02:44, всего редактировалось 1 раз.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: STM32 новичку в ARM что к чему

Сообщение AndTer »

[uquote="pvit",url="/forum/viewtopic.php?p=3458928#p3458928"]какие есть варианты сваливания с куба[/uquote]
А на сколько реально нужно сваливать с куба? Назрело? Какие аргументы?
Если работаешь с ним, тебя устраивает, зачем?
Альтернатив ему нету, по крайней мере пока. Если он помогает решать стоящие задачи, зачем с него уходить? Если у кого то есть личная неприязнь, это личное, но тебе никто не запрещает иметь своё мнение.
Ведь это всё инструменты. Главное задача. А уж как ты её решишь, это не важно.
Глупый не задает вопросы. Глупый и так все знает.
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

[uquote="jcxz",url="/forum/viewtopic.php?p=3458933#p3458933"]Ещё бы я заменил реализацию синуса таблицей на реализацию полиномом. Всё-ж таки ARM, а не АВР какой-то....[/uquote]
Там арксинус растянутый. Не было смысла кроить, я даже до четверти не стал ужимать.

Типа, если у кого будет дикое непреодолимое желание - потом зашлет PR. Там в трекере еще много чего записано из серии полирования яиц.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Oxford »

pvit писал(а): Хотелось бы вернуться к интересующему вопросу - какие есть варианты сваливания с куба малыми силами и без особой потери удобств.
Не то чтобы "надо", просто интересно стало "как там на CMSIS-ах бывает". Вы вроде в них разбираетесь, поэтому спросил.
А зачем вам сваливать с куба? Я просто не понимаю вас, вы же проект в кубе делаете. Вот это выражение "как там на CMSIS-ах бывает" не совсем понимаю что означает. У вас в проекте там ADC c DMA, Таймер и GPIO ножка. Вы не понимаете с чего начать настраивать на CMSIS это? Вы же в кубе как то понимали и сделали заготовку.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

[uquote="jcxz",url="/forum/viewtopic.php?p=3458933#p3458933"]Ещё плохой стиль - это "магические числа". Типа этого:[/uquote]
Слушайте, ну не надо пытаться с нахрапа критикой заниматься. Во-первых те константы не магические. Во-вторых я не просил :)
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="Oxford",url="/forum/viewtopic.php?p=3458946#p3458946"]А зачем вам сваливать с куба?[/uquote]
Мож копирайт не устраивает. ST разрешает использовать этот код, но не передает права на него.
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

[uquote="Oxford",url="/forum/viewtopic.php?p=3458946#p3458946"]А зачем вам сваливать с куба? Я просто не понимаю вас, вы же проект в кубе делаете.[/uquote]
Мне не нравится что приходится делать ради подключения кубовского кода. Это расстраивает мое эстетическое чувство прекрасного. Но еще не настолько, чтобы тратить заметное количество времени на программирование регистров вручную :).

[uquote="Oxford",url="/forum/viewtopic.php?p=3458946#p3458946"]Вот это выражение "как там на CMSIS-ах бывает" не совсем понимаю что означает. У вас в проекте там ADC c DMA, Таймер и GPIO ножка. Вы не понимаете с чего начать настраивать на CMSIS это? Вы же в кубе как то понимали и сделали заготовку.[/uquote]
В кубе мышкой натыкал. Мне это показалось относительно несложным. По крайней мере время на то чтобы глубоко ковыряться в референс мануале тратить не пришлось. По верхам вполне хватило.

Хотелось бы чего-то аналогичного, но с менее уродским кодом, который не нуждается в ручном редактировании, а работает как обычная библиотека.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

[uquote="pvit",url="/forum/viewtopic.php?p=3458961#p3458961"]В кубе мышкой натыкал. Мне это показалось относительно несложным.[/uquote]
Принцип Парето -- 20% усилий дают 80% результата. Оставшиеся 20% можно добрать только вложив еще 80% усилий.

В четвертом регулярном канале АЦП (канал VREFINT) у вас неправильное время семплирования. Запросто может привести к тому, что все измерения будут врать. Кстати, налицо ситуация, когда даже великолепное знание хала и куба не обеспечивает написание безошибочного софта.
Последний раз редактировалось a5021 Пн сен 17, 2018 20:20:04, всего редактировалось 2 раза.
Ответить

Вернуться в «ARM»