Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
STM32 новичку в ARM что к чему
Что значит как все проинициализировать? В референс мануале все написано по периферии как настраивать ее. В случае CubeMX это юзер мануал на сам куб и мануалы по HAL которые тоже изучать надо.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
- Реклама
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
pvit, начните с азов , с того как нужно читать документацию
http://mcu.goodboard.ru/viewtopic.php?id=11
http://mcu.goodboard.ru/viewtopic.php?id=14
http://mcu.goodboard.ru/viewtopic.php?id=11
http://mcu.goodboard.ru/viewtopic.php?id=14
- Сообщения: 191
- Зарегистрирован: Вт июн 05, 2018 00:18:01
[uquote="Oxford",url="/forum/viewtopic.php?p=3458856#p3458856"]Что значит как все проинициализировать? В референс мануале все написано по периферии как настраивать ее. В случае CubeMX это юзер мануал на сам куб и мануалы по HAL которые тоже изучать надо.[/uquote]
Ну у меня в проекте полтора вызова HAL-а, поэтому затраты на изучение апи (любого) можно считать нулевыми. А с инициализацией - в кубе "галочки раскидываются", и референс мануал хватает пробежать по диагонали. Собственно, выгода только в этом. Но для меня на конкретном проекте она существенна.
В тоже время, мне не очень нравится то что генерит куб, поэтмоу я б его заменил чем-то более приличным, если по времени будет сообразно. Сейчас кубовский код просто задвинут в угол до лучших времен, чтобы не отсвечивал. Если будет возможность - заменим. Не будет - ну и фик с ним.
Ну у меня в проекте полтора вызова HAL-а, поэтому затраты на изучение апи (любого) можно считать нулевыми. А с инициализацией - в кубе "галочки раскидываются", и референс мануал хватает пробежать по диагонали. Собственно, выгода только в этом. Но для меня на конкретном проекте она существенна.
В тоже время, мне не очень нравится то что генерит куб, поэтмоу я б его заменил чем-то более приличным, если по времени будет сообразно. Сейчас кубовский код просто задвинут в угол до лучших времен, чтобы не отсвечивал. Если будет возможность - заменим. Не будет - ну и фик с ним.
А что вам нужно настроить? Если есть код HAL который нужно заменить покажите его. И что такое полтора вызова HAL, я не совсем понимаю вас.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
- Сообщения: 1841
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3458704#p3458704"]А у Вас что-ли программисты никогда не болеют, не увольняются, не уезжают в отпуск по путевке купленной полгода назад посреди проекта?[/uquote]
Причём тут это?
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3458704#p3458704"]Потому что, для примера, изучить API тригонометрических функций libfixmath можно за 10 минут, а писать свои такие же функции будете неделю. С API FreeMODBUS
можно разобраться за полчаса, а вот писать свою реализацию MODBUS с нуля будете месяц.[/uquote]
Вы ошибаетесь - месяц не буду, ничего сложного в нём нет. Да и вообще modbus использовать не стану.
И говорил я про всякие библиотеки для конфигурирования железа в первую очередь. типа куба.
Причём тут это?
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3458704#p3458704"]Потому что, для примера, изучить API тригонометрических функций libfixmath можно за 10 минут, а писать свои такие же функции будете неделю. С API FreeMODBUS
можно разобраться за полчаса, а вот писать свою реализацию MODBUS с нуля будете месяц.[/uquote]
Вы ошибаетесь - месяц не буду, ничего сложного в нём нет. Да и вообще modbus использовать не стану.
И говорил я про всякие библиотеки для конфигурирования железа в первую очередь. типа куба.
- Реклама
- Сообщения: 191
- Зарегистрирован: Вт июн 05, 2018 00:18:01
[uquote="Oxford",url="/forum/viewtopic.php?p=3458865#p3458865"]А что вам нужно настроить? Если есть код HAL который нужно заменить покажите его.[/uquote]
https://github.com/speedcontrols/ac_sc_ ... ubemx_init
Мне не пригорает заменить хал любой ценой. Интересуют технологии разработки, чтобы так же быстро клепать что-то более приличное.
[uquote="Oxford",url="/forum/viewtopic.php?p=3458865#p3458865"]И что такое полтора вызова HAL, я не совсем понимаю вас.[/uquote]
https://github.com/speedcontrols/ac_sc_ ... master/src
Имелось в виду, что в коде очень мало завязок на HAL. Там математика и алгоритмы всякие. Ну и по вполне понятным причинам, имеющееся время хочется тратить именно на них.
https://github.com/speedcontrols/ac_sc_ ... ubemx_init
Мне не пригорает заменить хал любой ценой. Интересуют технологии разработки, чтобы так же быстро клепать что-то более приличное.
[uquote="Oxford",url="/forum/viewtopic.php?p=3458865#p3458865"]И что такое полтора вызова HAL, я не совсем понимаю вас.[/uquote]
https://github.com/speedcontrols/ac_sc_ ... master/src
Имелось в виду, что в коде очень мало завязок на HAL. Там математика и алгоритмы всякие. Ну и по вполне понятным причинам, имеющееся время хочется тратить именно на них.
- Сообщения: 1841
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[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) {}Вот это одна из причин, почему не люблю всякие либы со стороны - там такого полно. А всё вычищать и переделывать, как тут некоторые предлагают, так это всю эту "либу" и придётся переделать. А это значит - всё равно изучать мануал. Так что быстрее - сразу начать с мануала.
- Сообщения: 191
- Зарегистрирован: Вт июн 05, 2018 00:18:01
Я вроде объяснял про применимость поллинга. Заниматься болтовней про идеальный шарообразный код в вакууме не вижу смысла. Это ничего не прибавляет в голове.
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Вообщем задача -перетащить с аурдуньи в калокуб.
Здесь проще и действенней написать все с нуля.
Из того что успел ухватить - какой то регулятор скорости движка.
А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...
Здесь проще и действенней написать все с нуля.
Из того что успел ухватить - какой то регулятор скорости движка.
А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...
Последний раз редактировалось dosikus Пн сен 17, 2018 18:13:26, всего редактировалось 1 раз.
- Сообщения: 6457
- Зарегистрирован: Пт сен 13, 2013 13:11:31
[uquote="jcxz",url="/forum/viewtopic.php?p=3458895#p3458895"] - очень плохой стиль! Никогда так не делаю и коллегам не позволяю.[/uquote]
Самый плохой стиль -- это когда полуграмотный выскочка начинает изображать из себя крутейшего спеца. Там весь алгоритм завязан на поступлении данных с АЦП. Нет данных, значит делать нечего. Можно в сон МК класть, можно в цикле крутиться. Без разницы.
Код: Выделить всё
while (!adc_data_ready) {}Самый плохой стиль -- это когда полуграмотный выскочка начинает изображать из себя крутейшего спеца. Там весь алгоритм завязан на поступлении данных с АЦП. Нет данных, значит делать нечего. Можно в сон МК класть, можно в цикле крутиться. Без разницы.
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Мда, это и есть то нев***ено уникальное устройство где нужна "необычная" мощь F103.
Медианный фильтр, PID регулятор...
Здесь и стм8L справится не то что F0.
Медианный фильтр, PID регулятор...
Здесь и стм8L справится не то что F0.
- Сообщения: 1841
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="pvit",url="/forum/viewtopic.php?p=3458901#p3458901"]Я вроде объяснял про применимость поллинга. Заниматься болтовней про идеальный шарообразный код в вакууме не вижу смысла. Это ничего не прибавляет в голове.[/uquote]
Применимость для чего? Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.
Применимость для чего? Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.
pvit, используйте внешний кварц в своем проекте, тогда вместо 64мгц будет 72мгц. Теряете в производительности.
Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
- Сообщения: 191
- Зарегистрирован: Вт июн 05, 2018 00:18:01
[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Применимость для чего?[/uquote]
Например для экономии времени разработки.
[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.[/uquote]
Спасибо, кэп. Но здесь нет нужды экономить потребление и нет других задач.
И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.
Например для экономии времени разработки.
[uquote="jcxz",url="/forum/viewtopic.php?p=3458914#p3458914"]Поллинг в таком виде - просто тупой расход быстродействия CPU в тепло. И такой "код" угробит все задачи, имеющие более низкий приоритет.[/uquote]
Спасибо, кэп. Но здесь нет нужды экономить потребление и нет других задач.
И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.
[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.
Только я не понял чей это проект и что надо.
Здесь проще и действенней написать все с нуля.
Из того что успел ухватить - какой то регулятор скорости движка.
А ну все верно -регулятор мощности/оборотов на симисторе с зерокросс...[/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
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Клава, я с вас торчу. Флейма уже на полдесятка страниц, но никто из крутых спецов так и не подсказал мне, что я высмотрел не ту функцию... плин, былв магазине, забыл попкорн купить
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
[uquote="dosikus",url="/forum/viewtopic.php?p=3457239#p3457239"]HAL_TIM_Base_Start_DMA - эта хрень только конфигурирует реквесты UP к DMA.
Все остальное - источник и приемник , размер данных, источник реквестов и счетчик конфигурируется в канале DMA , это если F1 в F4 -потоки.[/uquote]
uldemir, дуся . Внезапно да?
Тебе это с самого начала объяснили, но мы же видим только что нам надо...
Все остальное - источник и приемник , размер данных, источник реквестов и счетчик конфигурируется в канале DMA , это если F1 в F4 -потоки.[/uquote]
uldemir, дуся . Внезапно да?
Тебе это с самого начала объяснили, но мы же видим только что нам надо...
- Сообщения: 191
- Зарегистрирован: Вт июн 05, 2018 00:18:01
[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-ах бывает". Вы вроде в них разбираетесь, поэтому спросил.
Нет потребности, да и людям меньше паять.
Хотелось бы вернуться к интересующему вопросу - какие есть варианты сваливания с куба малыми силами и без особой потери удобств.
Добавлено after 4 minutes 48 seconds:
[uquote="Oxford",url="/forum/viewtopic.php?p=3458920#p3458920"]Только я не понял чей это проект и что надо.[/uquote]
Мой и знакомого. В коммитах же авторы указаны.
Не то чтобы "надо", просто интересно стало "как там на CMSIS-ах бывает". Вы вроде в них разбираетесь, поэтому спросил.
- Сообщения: 1841
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="pvit",url="/forum/viewtopic.php?p=3458919#p3458919"]И хочу напомнить в обратную сторону - я же Вас не заставляю писать на поллинге. А на данном конкретном проекте мне удобнее именно так.[/uquote]
Конечно - дело Ваше.
Ещё бы я заменил реализацию синуса таблицей на реализацию полиномом. Всё-ж таки ARM, а не АВР какой-то....
Ещё плохой стиль - это "магические числа". Типа этого:
У Вас там полно подобного.
Конечно - дело Ваше.
Ещё бы я заменил реализацию синуса таблицей на реализацию полиномом. Всё-ж таки 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 раз.
- Сообщения: 2411
- Зарегистрирован: Ср фев 23, 2011 12:12:31
[uquote="pvit",url="/forum/viewtopic.php?p=3458928#p3458928"]какие есть варианты сваливания с куба[/uquote]
А на сколько реально нужно сваливать с куба? Назрело? Какие аргументы?
Если работаешь с ним, тебя устраивает, зачем?
Альтернатив ему нету, по крайней мере пока. Если он помогает решать стоящие задачи, зачем с него уходить? Если у кого то есть личная неприязнь, это личное, но тебе никто не запрещает иметь своё мнение.
Ведь это всё инструменты. Главное задача. А уж как ты её решишь, это не важно.
А на сколько реально нужно сваливать с куба? Назрело? Какие аргументы?
Если работаешь с ним, тебя устраивает, зачем?
Альтернатив ему нету, по крайней мере пока. Если он помогает решать стоящие задачи, зачем с него уходить? Если у кого то есть личная неприязнь, это личное, но тебе никто не запрещает иметь своё мнение.
Ведь это всё инструменты. Главное задача. А уж как ты её решишь, это не важно.
Глупый не задает вопросы. Глупый и так все знает.


