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

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

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

Сообщение ARV »

a5021 писал(а):часто видят только то, что хотят видеть
что я, как начинающий (тема-то для них?), извлек из последних двух страниц темы полезного?
Это?
VladislavS писал(а):Можете говнокодить дальше. Самостоятельно.
a5021 писал(а):позориться то зачем?
a5021 писал(а):прям "помогите девочке Даше найти строку, где смещение не кратно четырем". справитесь?
a5021 писал(а):ума не приложу, как им удается столько времени прятать это от вас
a5021 писал(а):ой, мама.
VladislavS писал(а):Вы за буквы платите что ли? "abcdefghijklmnopqrstuvwxyz0123456789()*&" - дарю, пользуйтесь.
и это как бы не считая того, что остальное никак не объясняется для начинающего, так что вероятно имеющиеся там зерна среди плевел неразличимы (для меня).
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4704971#p4704971"]Поздравляю. Похоже, вы нашли первоисточник ошибки. Только это всё вторичка. Первичны технические описания ядер.[/uquote]
Боюсь даже спрашивать, кто такие эти "технические описания ядер". Если так вы назвали TRM, то там нет описания SysTick от слова совсем, так как SysTick не является частью ядра в строгом смысле. TRM, он вообще, не для нас с вами:
Intended audience
This manual is written to help system designers, system integrators, verification engineers, and software
programmers who are implementing a System-on-Chip (SoC) device based on the Cortex®-M3 processor
Наиболее полно SysTick описывается в Cortex-M3 Devices Generic User Guide (DUI0552A), который отчего-то "технические описания ядер" подает отдельно от систика:
СпойлерИзображение
тут и целевая аудитория другая и разблюдовка правильная. Ну и "первоисточник ошибки" во всей красе:
СпойлерИзображение
К слову сказать, "ошибку" обильно тиражируют, как сами армы (вплоть до Cortex-M7), так и производители микроконтроллеров. Не поленился, Ti, NXP и St возглавляют список распространителей ошибочной информации.
Ну и подтверждение - рабочий код.
там вон говорят, что не больно-то рабочий.
Вложения
Screenshot 2025-04-14 at 20-32-18 Cortex-M3 Devices Generic User Guide - DUI0552A_cortex_m3_dgug.pdf.png
(28.47 КБ) 476 скачиваний
Screenshot 2025-04-14 at 20-11-27 Cortex-M3 Devices Generic User Guide - DUI0552A_cortex_m3_dgug.pdf.png
(53.33 КБ) 487 скачиваний
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

Вы так ничего и не поняли? На подумать.
СпойлерИзображение

Изображение
изображение_2025-04-15_085359968.png
(62.37 КБ) 521 скачивание
RigolDS1.png
(62.74 КБ) 442 скачивания
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 333
Зарегистрирован: Ср мар 09, 2016 08:07:41

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

Сообщение JackSmith »

[uquote="HardWareMan",url="/forum/viewtopic.php?p=4704617#p4704617"]Учитывая, что HAL рассчитан на всех, даже на начинающих глупцов - лучше перестраховаться.[/uquote]
Я нигде в документации не видел что бы говорилось, что HAL сгодится даже для глупцов или что рассчитан на школьников или ардуинщиков. Непонятно откуда люди берут эти тезисы. Зато на первой странице UM1725 сказано что библиотека соответствует стандарту MISRA C 2004. И полагаю, что это основная причина того, что HAL является тем, чем является.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Ср сен 02, 2015 07:47:20

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

Сообщение HardWareMan »

[uquote="JackSmith",url="/forum/viewtopic.php?p=4705495#p4705495"][uquote="HardWareMan",url="/forum/viewtopic.php?p=4704617#p4704617"]Учитывая, что HAL рассчитан на всех, даже на начинающих глупцов - лучше перестраховаться.[/uquote]
Я нигде в документации не видел что бы говорилось, что HAL сгодится даже для глупцов или что рассчитан на школьников или ардуинщиков. Непонятно откуда люди берут эти тезисы. Зато на первой странице UM1725 сказано что библиотека соответствует стандарту MISRA C 2004. И полагаю, что это основная причина того, что HAL является тем, чем является.[/uquote]
А вы покажите хоть какую-то документацию, где явно написано что описываемый объект для глупцов? Просто если начинающий использует HAL то всё будет работать, при условии правильного его использования. Это факт. Если новичок воспользуется либой или советом от Васяна, то тут всё зависит от Великого Рандома. И я это вижу постоянно, особенно кочующие одни и те же грабли для популярных интерфейсов (USART/SPI/I2C) в примерах всяких блогеров и статьеписателей, даже в некоторых статьях радиокота было.
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Реклама
Уош
Опытный кот
Сообщения: 700
Зарегистрирован: Вс мар 23, 2025 14:56:55

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

Сообщение Уош »

Да. Ничего не делается для глупцов. Даже ардуина. Но глупцы используют
Реклама
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 333
Зарегистрирован: Ср мар 09, 2016 08:07:41

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

Сообщение JackSmith »

[uquote="HardWareMan",url="/forum/viewtopic.php?p=4705510#p4705510"]HAL рассчитан на всех, даже на начинающих глупцов[/uquote]
[uquote="HardWareMan",url="/forum/viewtopic.php?p=4705510#p4705510"]если начинающий использует HAL то всё будет работать, при условии правильного его использования. Это факт.[/uquote]
Вы сами себе противоречите. Глупец не сможет правильно использовать HAL, на то он глупец. Вместо этого он будет делать глупости.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4705384#p4705384"]Вы так ничего и не поняли? На подумать.[/uquote]
Алаверды!
СпойлерИзображение

Изображение
Вложения
2025-04-15_205431.jpg
(96.13 КБ) 384 скачивания
2025-04-15_211342.jpg
(49.94 КБ) 385 скачиваний
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

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

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

Сообщение ARV »

Я прерву высокоинтеллектуальный спор профессионалов, поскольку у меня, как у новичка, есть тупой вопрос.
Мне всего-то надо считать 4 бита из порта.

Делаю так
1. Инициализирую регистры порта

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

  LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOB); // Включаем тактирование порта B
  // Настройка PB15-PB12 как вход с подтяжкой
  LL_GPIO_SetPinMode(GPIOB, LL_GPIO_PIN_15, LL_GPIO_MODE_INPUT);
  LL_GPIO_SetPinPull(GPIOB, LL_GPIO_PIN_15, LL_GPIO_PULL_UP);
  LL_GPIO_SetPinSpeed(GPIOB, LL_GPIO_PIN_15, LL_GPIO_SPEED_HIGH);
  LL_GPIO_SetPinMode(GPIOB, LL_GPIO_PIN_14, LL_GPIO_MODE_INPUT);
  LL_GPIO_SetPinPull(GPIOB, LL_GPIO_PIN_14, LL_GPIO_PULL_UP);
  LL_GPIO_SetPinSpeed(GPIOB, LL_GPIO_PIN_14, LL_GPIO_SPEED_HIGH);
  LL_GPIO_SetPinMode(GPIOB, LL_GPIO_PIN_13, LL_GPIO_MODE_INPUT);
  LL_GPIO_SetPinPull(GPIOB, LL_GPIO_PIN_13, LL_GPIO_PULL_UP);
  LL_GPIO_SetPinSpeed(GPIOB, LL_GPIO_PIN_13, LL_GPIO_SPEED_HIGH);
  LL_GPIO_SetPinMode(GPIOB, LL_GPIO_PIN_12, LL_GPIO_MODE_INPUT);
  LL_GPIO_SetPinPull(GPIOB, LL_GPIO_PIN_12, LL_GPIO_PULL_UP);
  LL_GPIO_SetPinSpeed(GPIOB, LL_GPIO_PIN_12, LL_GPIO_SPEED_HIGH);
2. Читаю порт

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

unsigned char GetPortValue(void){
  unsigned int pins;
  pins = READ_REG(GPIOB->IDR) >> 12;
  return (~pins & 0x0F) + 1;
}
и всегда получаю 16, что бы там на порту я не делал (а делаю я замыкание на общий провод этих пинов).

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

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

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

Сообщение Adrift »

[uquote="ARV",url="/forum/viewtopic.php?p=4705694#p4705694"]и всегда получаю 16, что бы там на порту я не делал (а делаю я замыкание на общий провод этих пинов).[/uquote]
(~0 & 0x0F) + 1 = 16
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18673
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 437
Зарегистрирован: Ср сен 02, 2015 07:47:20

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

Сообщение HardWareMan »

[uquote="JackSmith",url="/forum/viewtopic.php?p=4705591#p4705591"]Вы сами себе противоречите. Глупец не сможет правильно использовать HAL, на то он глупец. Вместо этого он будет делать глупости.[/uquote]
Ни в коем разе. Глупец не будет использовать HAL напрямую, хотя сам HAL сопровождается подробным букварём. Глупец натыкает мышкой в кубике и тот сам ему создаст проект по IDE. Глупец нажмёт кнопку собрать и с вероятностью 90+ процентов всё заработает. При этом, глупец технически будет использовать HAL правильно.
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

[uquote="ARV",url="/forum/viewtopic.php?p=4705694#p4705694"]а делаю я замыкание на общий провод этих[/uquote]А что-нибудь кроме нуля туда подавали? Так то при нуле и будет 16.

Состояние порта можете прямо в отладчике смотреть.
Изображение
изображение_2025-04-16_140401898.png
(24.27 КБ) 303 скачивания
Добавлено after 58 minutes 4 seconds:
Так, на будущее:
1. Портам настроенным на вход нет смысла скорость задавать. Ничего не сломается, просто лишнее.
2. У вас 32-битный процессор и возвращать 8-битное значение из функции не всегда бесплатно. Не надо это делать без особой необходимости.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18673
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

VladislavS писал(а):А что-нибудь кроме нуля туда подавали?
а что я должен был подать на порт, настроенный для ВВОДА, кроме подтяжки "вверх"?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

У меня в хрустальном шаре не видно вашу схему.

Что в отладчике на GPOIB видно? Если всё-всё-всё по нулям, то тактирования нет. Что в MODER и PUPDR?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18673
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

В режиме отладки View/Registers/Registers 1 и там в поле Group выбрать GPIOB.

ЗЫ: там без тактирования не нули, а что-то похожее на ff-ы.

В нужном вам режиме должно быть вот так в обведённых местах.
Изображение
изображение_2025-04-16_163223416.png
(18.83 КБ) 278 скачиваний
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18673
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

Благодарю!

Раньше я думал, что хуже средств для разработки ПО, чем у Майкрософт, быть не может... Оказалось - может. Кому в башку пришло отладочную инфу запихать в меню внешнего вида, а не в меню отладки?!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3487
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

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

Сообщение smacorp »

Нет плохих средств разработки у крупных компаний. Есть лишь недостаточная заинтересованность в их освоении, помноженная на недостаточную компетенцию.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Ответить

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