Страница 433 из 446

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

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

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

Добавлено: Пн апр 14, 2025 20:42:23
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 возглавляют список распространителей ошибочной информации.
Ну и подтверждение - рабочий код.
там вон говорят, что не больно-то рабочий.

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

Добавлено: Вт апр 15, 2025 08:57:03
VladislavS
Вы так ничего и не поняли? На подумать.
СпойлерИзображение

Изображение
изображение_2025-04-15_085359968.png
(62.37 КБ) 539 скачиваний
RigolDS1.png
(62.74 КБ) 461 скачивание

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

Добавлено: Вт апр 15, 2025 14:39:51
JackSmith
[uquote="HardWareMan",url="/forum/viewtopic.php?p=4704617#p4704617"]Учитывая, что HAL рассчитан на всех, даже на начинающих глупцов - лучше перестраховаться.[/uquote]
Я нигде в документации не видел что бы говорилось, что HAL сгодится даже для глупцов или что рассчитан на школьников или ардуинщиков. Непонятно откуда люди берут эти тезисы. Зато на первой странице UM1725 сказано что библиотека соответствует стандарту MISRA C 2004. И полагаю, что это основная причина того, что HAL является тем, чем является.

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

Добавлено: Вт апр 15, 2025 15:05:07
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) в примерах всяких блогеров и статьеписателей, даже в некоторых статьях радиокота было.

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

Добавлено: Вт апр 15, 2025 15:34:50
Уош
Да. Ничего не делается для глупцов. Даже ардуина. Но глупцы используют

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

Добавлено: Вт апр 15, 2025 20:47:02
JackSmith
[uquote="HardWareMan",url="/forum/viewtopic.php?p=4705510#p4705510"]HAL рассчитан на всех, даже на начинающих глупцов[/uquote]
[uquote="HardWareMan",url="/forum/viewtopic.php?p=4705510#p4705510"]если начинающий использует HAL то всё будет работать, при условии правильного его использования. Это факт.[/uquote]
Вы сами себе противоречите. Глупец не сможет правильно использовать HAL, на то он глупец. Вместо этого он будет делать глупости.

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

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

Изображение

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

Добавлено: Ср апр 16, 2025 06:12:57
VladislavS
Замечателтно. Надеюсь, вы хоть краем глаза прочитали всё то на что ссылаетесь и теперь сможете, наконец, объяснить почему оно мигает?

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

Добавлено: Ср апр 16, 2025 09:05:29
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, что бы там на порту я не делал (а делаю я замыкание на общий провод этих пинов).

И что я не так делаю?

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

Добавлено: Ср апр 16, 2025 09:25:25
Adrift
[uquote="ARV",url="/forum/viewtopic.php?p=4705694#p4705694"]и всегда получаю 16, что бы там на порту я не делал (а делаю я замыкание на общий провод этих пинов).[/uquote]
(~0 & 0x0F) + 1 = 16

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

Добавлено: Ср апр 16, 2025 10:21:40
ARV
и чо? если pins всегда равно 0, то откуда берется 16, я и сам понимаю. я не понимаю, почему pins всегда равно нулю...

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

Добавлено: Ср апр 16, 2025 10:44:37
HardWareMan
[uquote="JackSmith",url="/forum/viewtopic.php?p=4705591#p4705591"]Вы сами себе противоречите. Глупец не сможет правильно использовать HAL, на то он глупец. Вместо этого он будет делать глупости.[/uquote]
Ни в коем разе. Глупец не будет использовать HAL напрямую, хотя сам HAL сопровождается подробным букварём. Глупец натыкает мышкой в кубике и тот сам ему создаст проект по IDE. Глупец нажмёт кнопку собрать и с вероятностью 90+ процентов всё заработает. При этом, глупец технически будет использовать HAL правильно.

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

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

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

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

Добавлено: Ср апр 16, 2025 15:56:41
ARV
VladislavS писал(а):А что-нибудь кроме нуля туда подавали?
а что я должен был подать на порт, настроенный для ВВОДА, кроме подтяжки "вверх"?!

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

Добавлено: Ср апр 16, 2025 16:03:04
VladislavS
У меня в хрустальном шаре не видно вашу схему.

Что в отладчике на GPOIB видно? Если всё-всё-всё по нулям, то тактирования нет. Что в MODER и PUPDR?

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

Добавлено: Ср апр 16, 2025 16:24:23
ARV
Если б я еще мог найти в этом ИАРе окно регистров...

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

Добавлено: Ср апр 16, 2025 16:27:20
VladislavS
В режиме отладки View/Registers/Registers 1 и там в поле Group выбрать GPIOB.

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

В нужном вам режиме должно быть вот так в обведённых местах.
Изображение
изображение_2025-04-16_163223416.png
(18.83 КБ) 293 скачивания

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

Добавлено: Ср апр 16, 2025 16:34:21
ARV
Благодарю!

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

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

Добавлено: Ср апр 16, 2025 18:42:29
smacorp
Нет плохих средств разработки у крупных компаний. Есть лишь недостаточная заинтересованность в их освоении, помноженная на недостаточную компетенцию.