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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

IVL ex UA6PJ
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

u-vovchika писал(а):"кокос" ????
Тогда лучше EmBitz.
Реклама
Родился
Сообщения: 7
Зарегистрирован: Сб сен 26, 2020 14:21:35
Откуда: Казань

Сообщение u-vovchika »

Скачал кокос
В инете много уроков по нему
По крайне мере уже светодиодами моргаю и понял по настройкам пинов
Но я так понимаю, что это типа библиотек уже готовых
А вот понимание, как по битам настраивать, пока ищу хелпы
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Делайте как я.... Если с нуля и по битам, то самое нормальное это любая среда программирования (IDE) и тупо рефренс мануал на ваш МК и сидеть разбираться с CMSIS. Не так страшен черт, как его малюют. Все получится, только надо внимательно РМ читать, чтобы понять что-то. ))))
Станислав
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

СКАЗОЧНИК писал(а):Делайте как я
Судя по форуму, у вас изучение проходит туго.
Как бы не ругали SPL, но с ее использованием обучение и дальнейшая разработка проходит быстрее и меньше ошибок и сложностей портирования на другие МК.
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

Мурик, Но её сожалению похерили и на новые МК нету.
IVL ex UA6PJ
Реклама
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Да. Туго... Но никто и не обещал простого.. Туго во всем, в чем разбираешься практически с фундамента. Даже в самом строительстве.
Зато потом будет проще. Я верю. И вопросов про различные библиотеки от СПЛ, ХАЛ и т.д. будет меньше, т.к. либо будешь больше знать о работе МК, либо не будешь применять библиотеки практически совсем... Как-то так.
Станислав
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18791
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Я в эту тему смотрю постоянно, с целью понять, что такое stm32 и стоит ли его осваивать... Поскольку ранее я утверждал, что не стоит, то и ищу факты, чтобы утвердиться во мнении или изменить его.
И чем больше смотрю, тем больше прихожу к мнению, что я не ошибся.
Эта область для тех, кто так и не смог самоутвердиться по жизни... Ничего полезного начинающим тут почти нет... Только демонстрация собственной крутости...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

ARV писал(а):Ничего полезного начинающим тут почти нет...
Вот с этим почти соглашусь... :( Помогают все же. Даже иногда очень. Но больше спорят про всякую ерунду, которая к начинающим отношения не имеет.
Если бы с таким же рвением объясняли и отвечали начинающим, пользы было бы больше. :)
Станислав
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="ARV",url="/forum/viewtopic.php?p=3904697#p3904697"]я не ошибся[/uquote]
Все гораздо проще.
Начинающим в контроллерах к АРМам нужно либо относиться как к Ардуинам, то есть никуда не вникать и копипастить некие типовые фрагменты кода, собирая из них несложные паззлы, либо долго и упорно осваивать фундаментальные основы архитектуры. Последнее годится только для самых настойчивых и серьезных - таким советы из этой темы совершенно ни к чему.
Все гораздо проще для тех, кто имеет значительный опыт в более простых платформах.
Друг Кота
Сообщения: 6457
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

[uquote="ARV",url="/forum/viewtopic.php?p=3904697#p3904697"]Я в эту тему смотрю постоянно, с целью понять, что такое stm32 и стоит ли его осваивать.[/uquote]
Задача у вас -- не позавидуешь.
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

Я мало знаю про АВР, но все же на них собрал несколько устройств. Опечалился, когда кантору перекупил Микрочип. Да и в большинстве промышленных контроллеров, в том числе в автопроме применяются ПИК. А я их почти совсем не знаю.
Дальше, задумки мои многолетние уже, я понял, что на АВР не реализую. Мало и памяти и скорости. Вот и решился пойти на 32 бита.
А дается мне это тяжело, потому что у меня тупо со знанием Си проблемы... и времени сидеть днями перед компом нету. Использовать библиотеки не могу, потому что также, в соответствии задумок, устройство достаточно со специфичным алгоритмом. Ну это в моей голове так. Просто в природе нет библиотеки готовой, которая способна это реализовать.
Станислав
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3904745#p3904745"]в природе нет библиотеки[/uquote]
Выстраивать будущее устройство нужно сверху вниз - от общего к частному. Тогда и выяснится - есть библиотека или ее нет...
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

СКАЗОЧНИК писал(а):Да. Туго... Но никто и не обещал простого..
Просто не Ищите простых путей. :dont_know:
Они есть. Как я уже писал - SPL, в крайнем случае HAL / LL.
СКАЗОЧНИК писал(а):Зато потом будет проще.
Расскажите это Эдди, который освоил F1 и F0 и считает F4 слишком сложными, а все потому что работает с регистрами, а не использует библиотеки. Вообще многое зависит от человека.
СКАЗОЧНИК писал(а):И вопросов про различные библиотеки от СПЛ, ХАЛ и т.д. будет меньше
По регистрам будет гораздо больше вопросов чем по SPL и HAL вместе взятым. :dont_know:
ARV писал(а):Я в эту тему смотрю постоянно, с целью понять, что такое stm32 и стоит ли его осваивать.
Лично вам не стоит. Используйте AVR дальше.
СКАЗОЧНИК писал(а):Но больше спорят про всякую ерунду, которая к начинающим отношения не имеет.
На форуме не только начинающие. И темы споров зависит от уровня знаний.
СКАЗОЧНИК писал(а):А дается мне это тяжело, потому что у меня тупо со знанием Си проблемы
Почему? Язык Си не сложный и его можно довольно быстро изучить.
СКАЗОЧНИК писал(а):Использовать библиотеки не могу, потому что также, в соответствии задумок, устройство достаточно со специфичным алгоритмом.
Алгоритм никак не связан с использованием библиотек. Тем более когда идет речь про периферийные библиотеки, которые для МК. Это примерно как дрова для компа.
Идёт направо - песнь заводит, Налево - сказку говорит.
Аватара пользователя
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

Сообщение СКАЗОЧНИК »

для начала, я хочу организовать связь с 64 устройствами без проводов. в каждом устройстве пусть будет ТИНИ13 и один светодиод типа 2812. Управлять надо цветом, яркостью и динамикой. главный контрллер всем этим рулит и еще кучу некоторой другой работы выполняет. Каждое устройство имеет свой уникальный адрес.
Пока не знаю как это решить. )
Станислав
Друг Кота
Аватара пользователя
Сообщения: 25864
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3904765#p3904765"]для начала, я хочу[/uquote]
Для начала нужно выстроить обозначенный список задач в общую диаграмму работы МК, чтобы понять пересечение этих задач во времени и возможность не применять ОСРВ для разруливания многозадачности, ну или применять ОСРВ. Отдельно нужно определить для себя интерфейс связи с Tiny13. Затем каждую из задач реализовать совершенно независимо.
Друг Кота
Аватара пользователя
Сообщения: 7042
Зарегистрирован: Сб янв 28, 2006 22:47:24

Сообщение Asmodey »

[uquote="Мурик",url="/forum/viewtopic.php?p=3904760#p3904760"]По регистрам будет гораздо больше вопросов чем по SPL и HAL вместе взятым.[/uquote]
Посмотрел я эти SPL и HAL, там имена функций такие, что пальцы вывихнешь набивая их с клавы. Запомнить их и вовсе нереально. Описание функций через пень-колоду и галопом по европам. У регистров хотя бы названия человеческие и нормальное описание в RM.
[uquote="Мурик",url="/forum/viewtopic.php?p=3904760#p3904760"]
СКАЗОЧНИК писал(а):Но больше спорят про всякую ерунду, которая к начинающим отношения не имеет.
На форуме не только начинающие. И темы споров зависит от уровня знаний[/uquote]
Да, но непонятно, зачем засорять высокоуровневыми спорами тему для начинающих. Которые вынуждены по крупицам потом выцарапывать полезную информацию из десятков страниц споров не имеющих отношения к конкретной теме. На форуме валом тем для опытных погроммистов.
Астролябия-сама меряет, было бы что мерять!!!
Друг Кота
Аватара пользователя
Сообщения: 3386
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Asmodey писал(а): набивая их с клавы
Для этого есть автозавершение.
Asmodey писал(а):Описание функций через пень-колоду и галопом по европам.
Описание битов в RM не лучше. :dont_know:
Asmodey писал(а):У регистров хотя бы названия человеческие и нормальное описание в RM.
Ну да, "очень понятные" названия. Например.

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

GPIOB->CRL |= GPIO_CRL_MODE4_1;
Новички без чтения RM однозначно поймут что означает эта строка и какой режим порта устанавливается. :)))
Друг Кота
Сообщения: 6457
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

[uquote="Мурик",url="/forum/viewtopic.php?p=3904848#p3904848"]Ну да, "очень понятные" названия. Например.

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

GPIOB->CRL |= GPIO_CRL_MODE4_1;
Новички без чтения RM однозначно поймут что означает эта строка и какой режим порта устанавливается. :)))[/uquote]

Смотря как записать. Можно, например, так:

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

#define I_ANALOG            (0ULL << 2)
#define I_FLOAT             (1ULL << 2)
#define I_PULL              (2ULL << 2)
#define O_PP                (0ULL << 2)
#define O_OD                (1ULL << 2)
#define O_AF                (2ULL << 2)
#define O_10MHZ             (1ULL)
#define O_2MHZ              (2ULL)
#define O_50MHZ             (3ULL)

#define PIN_CFG(PIN, MODE)  ((uint64_t)(MODE) << ((PIN) * 4))

*(volatile uint64_t *) GPIOA = (
  PIN_CFG(0,  O_2MHZ)            | /*  PA0:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
  PIN_CFG(1,  O_2MHZ)            | /*  PA1:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
  PIN_CFG(2,  O_2MHZ)            | /*  PA2:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
  PIN_CFG(3,  O_2MHZ)            | /*  PA3:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
  PIN_CFG(4,  O_2MHZ)            | /*  PA4:  OUTPUT (PUSH-PULL, LOW SPEEED)        */

  #if USE_SPI
    PIN_CFG(5,  O_AF + O_50MHZ)  | /*  PA5:  SPI1_SCK  (PUSH-PULL, HIGH SPEEED)    */
    PIN_CFG(6,  I_FLOAT)         | /*  PA6:  SPI1_MISO (INPUT, NO PULL)            */
    PIN_CFG(7,  O_AF + O_50MHZ)  | /*  PA7:  SPI1_MOSI (PUSH-PULL, HIGH SPEEED)    */
  #else
    PIN_CFG(5,  O_2MHZ)          | /*  PA5:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
    PIN_CFG(6,  O_2MHZ)          | /*  PA6:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
    PIN_CFG(7,  O_2MHZ)          | /*  PA7:  OUTPUT (PUSH-PULL, LOW SPEEED)        */
  #endif

  PIN_CFG(8,  I_ANALOG)          | /*           - unused -                         */

  #if USE_UART
    PIN_CFG(9,  O_AF + O_10MHZ)  | /*  PA9:  USART1 TX (PUSH-PULL, MEDIUM SPEEED)  */
    PIN_CFG(10, I_PULL)          | /*  PA10: USART1 RX (INPUT, PULL-DOWN)          */
  #else
    PIN_CFG(9,  I_ANALOG)        | /*           - unused -                         */
    PIN_CFG(10, I_ANALOG)        | /*           - unused -                         */
  #endif

  PIN_CFG(11, I_ANALOG)          | /*           - unused -                         */
  PIN_CFG(12, I_ANALOG)          | /*           - unused -                         */
  PIN_CFG(13, I_PULL)            | /*  PA13: SWDIO (INPUT, PULL-UP)                */
  PIN_CFG(14, I_PULL)            | /*  PA14: SWCLK (INPUT, PULL-DOWN)              */
  PIN_CFG(15, I_ANALOG)            /*           - unused -                         */
);
Вам что-то непонятно, Мурик?
Мудрый кот
Сообщения: 1844
Зарегистрирован: Вт авг 15, 2017 10:51:13

Сообщение jcxz »

[uquote="СКАЗОЧНИК",url="/forum/viewtopic.php?p=3904765#p3904765"]для начала, я хочу организовать связь с 64 устройствами без проводов. в каждом устройстве пусть будет ТИНИ13 и один светодиод типа 2812. Управлять надо цветом, яркостью и динамикой. главный контрллер всем этим рулит и еще кучу некоторой другой работы выполняет.[/uquote]Отправить в эфир широковещательный кадр с заданием состояний/режимов лампочек для всех узлов, который все устройства примут. Каждый выберет из него свою инфу.
Это если все устройства в прямой радиовидимости мастера. Если нет - надо будет добавлять ретрансляцию. Или использовать готовое решение, имеющее оную (например ZigBee).
Ответить

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