Stm32 с чего начать изучение...

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 611
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: Stm32 с чего начать изучение...

Сообщение linux_rulezz »

[uquote="Rapra",url="/forum/viewtopic.php?p=4797198#p4797198"]Вообще-то, хорошая IDE - это всегда лучше, чем "блокнот".[/uquote]
Мне-то это объяснять не надо, я qt-creator использую.
Но если надо что-то мелкое наколотить, строк до ста, то просто в mcedit пишу код. И мелкие правки делаю там же — в mcedit (особенно если по ssh, когда лень монтировать по sshfs удаленный ресурс и открывать qt-creator'ом).
Windows must die!
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

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

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

Мой уютный бложик... заходите!
Реклама
Adrift
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Stm32 с чего начать изучение...

Сообщение Adrift »

Втихаря зарелизили CubeMX2, пока только STM32C5 поддерживает и все более новые серии будут только в нем. HAL заменили на основательно переработанный и более оптимизированный HAL2 который полагается на LL. CMSIS до 6.3 обновили. Выглядит вроде как получше:
СпойлерИзображение
ps. Касательно STM32С5, таки есть там PLL, но ради простоты(у STM32C0 PLL не было), ST старательно об этом умалчивает, только в одном стороннем документе упоминание нашел. PLL представили как PSI генератор, на вход подается частоты кратная 8MHz или 32768, на выходе 120/144/160MHz.
Вложения
Снимок экрана 2026-03-18 185154.png
(205.42 КБ) 491 скачивание
Rapra
Потрогал лапой паяльник
Сообщения: 360
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Stm32 с чего начать изучение...

Сообщение Rapra »

Да нуна! Не прошло и 7 лет! А с момента рождения HAL прошло уже... ээээ... более 10 лет, по-моему.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

если МК ненадежно стартует при подаче питания, порог BOR лучше увеличить или снизить? мне кажется, лучше увеличить, но сторонние мнения расходятся, некоторые рекомендуют вообще отключиь BOR...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
tonyk
Это не хвост, это антенна
Сообщения: 1309
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Re: Stm32 с чего начать изучение...

Сообщение tonyk »

[uquote="ARV",url="/forum/viewtopic.php?p=4800341#p4800341"]порог BOR лучше увеличить или снизить?[/uquote]
Лучше разобраться с питанием, почему оно не успевает стабилизироваться к моменту старта МК. Или поставить внешний монитор питания с настраиваемой задержкой, чтобы стартовать МК при нормальном питании.
Однозначно ответить на вопрос нельзя. Например, не известно, на какой частоте стартует МК, сколько периферии включается. Ещё пример. У меня в стартапе сначала задаётся максимальная тактовая частота, потом вызывается стандартный код инициализации С и С++, а ХАЛ от СТМ наоборот сначала медленно и печально выполняет инициализацию, а потом только код пользователя настраивает частоту тактирования. Ессно, что потребление МК при работе на 16МГц и 160МГц заметно отличается, поэтому и настройка BOR будет отличаться. Повторюсь, разбирайтесь с питанием МК, оно в вашей схеме не в порядке.
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение veso74 »

В большинстве случаев помогает RC-цепь в NRST: 10k/100nF.
При первой подобной нестабильность установил RC, затем устанавливаю там "по инерции".
С тех пор еффект не повторялось, многих типов STM32, и не только.

Да, еще один эффект был с использованием кварца с низкой активностью. Увеличение времени помогло.
Автоматически (через MX) или вручную.
#if !defined (HSE_STARTUP_TIMEOUT)
#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */
Изображение

Если в CMSIS: сделайте паузу при старта и проанализируйте, запустился ли он.
При желании, если HSE не сработает, можете вернуть управление к HSI.

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

  uint32_t timeout = 1000000;
  while (!(RCC->CR & RCC_CR_HSERDY) && --timeout);
  if (timeout == 0) {
    // error: HSE not start
    return;
  }

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

  timeout = 100000;
  while (!(RCC->CR & RCC_CR_PLLRDY) && --timeout);  // wait for PLL to go active
  if (timeout == 0) {
    // handle PLL stop error
  }
Rapra
Потрогал лапой паяльник
Сообщения: 360
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Stm32 с чего начать изучение...

Сообщение Rapra »

[uquote="ARV",url="/forum/viewtopic.php?p=4800341#p4800341"]если МК ненадежно стартует при подаче питания, ...[/uquote]
Внешняя цепь сброса, с задержкой NRST на RC-цепи.
А еще лучше посмотреть осциллографом переходные процессы при нарастании питания. Возможно, оно проваливается где-то в середине нарастания.
Принцип работы BOR: если напряжение VDD/VDDA ниже установленного порога BOR, микроконтроллер находится в состоянии reset. Если VDD падает ниже порога BOR, микроконьроллер так же сбрасывается.
Однозначно ответить о выборе порога BOR можно только посмотрев осциллограмму момента подачи напряжения.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

спасибо за советы, но никаких измерений в плате пока сделать невозможно, т.к. доступ к ней сильно затруднен. МК тактируется от встроенного RC, как он там... HSI? цепь сброса как раз 10К-0,1 мкФ, 10 лет работало, теперь начало вот так странно стартовать... но меня эти 10 лет не было, это наследство. пока думаю просто BOR включить, если не включен.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Rapra
Потрогал лапой паяльник
Сообщения: 360
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Stm32 с чего начать изучение...

Сообщение Rapra »

"Странно" - это как?
Возможно, за 10 лет подсохли конденсаторы в питании и его качество ухудшилось.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

странно - это так, как описал: то стартует, то нет. но если питание после неудачного старта быстро передернуть - стартует почти всегда. вроде говорят, что все эти 10 лет так и запускали станок - передергиванием питания... но это не точно

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

Мой уютный бложик... заходите!
Rapra
Потрогал лапой паяльник
Сообщения: 360
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Stm32 с чего начать изучение...

Сообщение Rapra »

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

Добавлено after 2 minutes 37 seconds:
[uquote="ARV",url="/forum/viewtopic.php?p=4800473#p4800473"]все эти 10 лет так и запускали станок - передергиванием питания.[/uquote]
Значит, вероятна типичная ошибка разработчика - на столе у него работало, а на месте - не работает. По вышеописанной проблеме, скорее всего.

Добавлено after 3 minutes 25 seconds:
Если вышеописанное подходит к этому случаю, то возможно может помочь включение BOR с максимально высоким уровнем, с целью замедлить запуск микроконтроллера в процессе нарастания питания.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

Просто в качестве пояснения: это кусок блока управления ЧПУ-станка, никаких там дисплеев нет
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Rapra
Потрогал лапой паяльник
Сообщения: 360
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Stm32 с чего начать изучение...

Сообщение Rapra »

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

В общем, на плате смотрим осциллографом нарастание питания и сигнал сброса NRST, а так же смотрим активность микроконтроллера на его выходах.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

Решился написать страшное в теме... Но, надеюсь, полезное тем, кто только начинает осваивать STM32, как я.

Микро-гайд: используйте CubeMX+FreeRTOS, а вопросы задавайте ИИ (я использую Qwen 3.6). Не смотря на то, что ИИ частенько несет пургу, по большинству вопросов он даёт вполне верное направление, сужая круг собственных поисков и раздумий до минимума. Во всяком случае, никогда не хамит в ответ на глупые вопросы.
Для 99% задач начинающих упомянутый микро-гайд будет отличным решением.
FreeRTOS позволит не ломать голову над всякими задержками и т.п. вещами, которые начинающих ставят в ступор. Да и вообще принцип FreeRTOS - полезная практика, т.к. событийная модель программирования это, по сути, основа всего эмбеддед-программирования.
CubeMX решает 99% проблем настройки периферии. Заплатить за это придется дурацким исходником с миллионом комментов и автоматическим удалением написанного "не в том месте" собственного кода... Решается это просто: все задачи FreeRTOS делать
Weak или Extern и реализовывать в собственном сишнике, полностью не трогая то, что нагенерировал CubeMX. Для начала это приемлемо.
ИИ позволит не портить зрение чтением английских даташитов, и, тем паче, ковыряться в HAL-е. Но, повторяю: часто он лажает в элементарных вещах: факты излагает правильные, а код пишет кривой. Однако, это только на пользу, т.к. решение задачек - основа обучения, и задачки, подкидываемые ИИ - самое то.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
sdn_
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Вс авг 14, 2016 23:00:53

Re: Stm32 с чего начать изучение...

Сообщение sdn_ »

Во всяком случае, никогда не хамит в ответ на глупые вопросы.
По умолчания он поддакивает. Настройте его под себя: если хотите, чтобы хамил. Шутка.
Настройте так, чтобы он критиковал ваши решения, будет больше пользы для вас.
Но, повторяю: часто он лажает в элементарных вещах: факты излагает правильные, а код пишет кривой.
Качество ответов нейросети зависит от качества вашего запроса. Нейросеть не может мыслить, она лишь предугадывает наиболее вероятный набор слов (текстовая модель) под ваш запрос.
Лично мне CubeMX не нравиться: слишком перегруженный и малоповоротливый. Использую segger.
Аватара пользователя
sunjob
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Ср дек 08, 2010 19:03:17

Re: Stm32 с чего начать изучение...

Сообщение sunjob »

> Использую segger.
поделитесь оптом, расскажете в 10ти предложениия чЁ-коГо-Как?
чпасибо
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
Rapra
Потрогал лапой паяльник
Сообщения: 360
Зарегистрирован: Пн фев 16, 2026 17:30:02

Re: Stm32 с чего начать изучение...

Сообщение Rapra »

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

А нейросеть способна водить джедая по кругу :) Задаешь вопрос, она отвечает, ты проверяешь - не работает. Пишешь ей, что предложенный вариант не работает. Она пишет: "Да, вы совершенно правы, это нерабочий вариант. Вот другой вариант". И тут происходит зацикливание. Причем, когда я уже сам разобрался в проблеме и отвечаю ей, что надо вот так делать, нейронка на чистом глазу отвечает "Вы совершенно правы, я ошиблась, ваш вариант правильный и рабочий, потому что.... (перечисляет, почему)". И ты такой думаешь - а хера ли толку от нейронки, если она тупо признала свои ошибки и мою правоту? Вот нахера эти качели на пять экранов текста то были?
ARV писал(а): Ср май 27, 2026 08:42:07 не портить зрение чтением английских даташитов,
Правильно! Ваапще, нафига ваще чето делать то? Че суетиться, забей! Все эти микроконтроллеры и программирование - они только зрение портят, да ну ихнахер, лучше бухни пивка и расслабься. Это всё суета.
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3483
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Stm32 с чего начать изучение...

Сообщение smacorp »

Rapra писал(а): Ср май 27, 2026 16:25:45Это всё суета
Вот-вот.

Восточный мудрец встречает через 10 лет своего ученика.
- "Расскажи, ученик, чем ты занимался эти 10 лет?"
- "Я созерцал как растёт дерево, учитель."
- "Ясно... Всё суетишься."
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18556
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

Я так и думал, что, кроме критики, ничего не будет в ответ... А я за время с моего последнего вопроса в теме продвинулся до DMA, вычисления RMS параллельно с однократным АЦП других каналов... При этом ни разу не слышал советов попить пивка.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

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