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

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

Сообщение ARV »

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

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

Сообщение 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 КБ) 478 скачиваний
Screenshot 2025-04-14 at 20-11-27 Cortex-M3 Devices Generic User Guide - DUI0552A_cortex_m3_dgug.pdf.png
(53.33 КБ) 488 скачиваний
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

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

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

Сообщение JackSmith »

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

Сообщение 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) в примерах всяких блогеров и статьеписателей, даже в некоторых статьях радиокота было.
Реклама
Опытный кот
Сообщения: 700
Зарегистрирован: Вс мар 23, 2025 14:56:55

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

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

Сообщение JackSmith »

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

Сообщение a5021 »

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

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

Сообщение VladislavS »

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

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

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

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

Сообщение Adrift »

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

Сообщение ARV »

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

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

Сообщение HardWareMan »

[uquote="JackSmith",url="/forum/viewtopic.php?p=4705591#p4705591"]Вы сами себе противоречите. Глупец не сможет правильно использовать HAL, на то он глупец. Вместо этого он будет делать глупости.[/uquote]
Ни в коем разе. Глупец не будет использовать HAL напрямую, хотя сам HAL сопровождается подробным букварём. Глупец натыкает мышкой в кубике и тот сам ему создаст проект по IDE. Глупец нажмёт кнопку собрать и с вероятностью 90+ процентов всё заработает. При этом, глупец технически будет использовать HAL правильно.
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

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

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

Сообщение ARV »

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

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

Сообщение VladislavS »

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

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

Сообщение ARV »

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

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

Сообщение VladislavS »

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

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

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

Сообщение ARV »

Благодарю!

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

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

Сообщение smacorp »

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

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