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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

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

Сообщение scorpi_0n »

SIM31 писал(а):Почему вы выделяете СТМ32 среди остальных МК?

Они лучшие в своём классе.
Они устарели морально, тот же хлам типа АТмега 8, прокаченный до 32 бит.

А мужики то и не знали!
Сейчас модно SoC под Линукс.

И куда это чудо? На термометр с семисегментником?
Или PSoC, технологии просто космические по сравнению с устаревшими МК:

Угу. Космические цены, космические возможности, которые мало кому нужны и в которых мало кто разбирается по лени своей. Пять пользователей на весь мир.

Делать кастрированную Ардуину только для STM32 против существующей всеядной? Сомнителен успех. Лет 10-15 идея была бы кстати, сейчас 100500 клонов Ардуины, смысла нет.

А ардуина и есть сомнительный успех. И в клонах действительно смысла нет.
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

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

Сообщение SIM31 »

SashaN123 писал(а):всю промышленную РС совместимую плату десятилетней давности на один кристалл разместить с шиной PCI на выходе. И использовать старый промышленный софт тех лет с данной "микросхемой"...


Плата называется Raspbery Pi, а софт Linux ? Шина PCI громоздкая, поэтому выведена гребенка GPIO, USB, SATA.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

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

Сообщение scorpi_0n »

SashaN123 писал(а):Да уж. Уровень технологий растет. Можно б было, например, взять и всю промышленную РС совместимую плату десятилетней давности на один кристалл разместить с шиной PCI на выходе. И использовать старый промышленный софт тех лет с данной "микросхемой"...

И чего же вас как плюшкина на старьё то так тянет?
SashaN123
Опытный кот
Сообщения: 812
Зарегистрирован: Сб июл 02, 2016 20:22:23

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

Сообщение SashaN123 »

Был удобный и понятный софт. Не требующий понимать что там на плате или в кишках процессора находится. Была линейка разной мощности плат, на которой один и тот же софт работает одинаково, только скорость работы менялась...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

SashaN123 писал(а): Была линейка разной мощности плат, на которой один и тот же софт работает одинаково, только скорость работы менялась...
У разных процев разные возможности и если делать как вы предлагаете то далеко не все плюшки получится задействовать.
Скажем в ATmega нет запуска АЦП по таймеру со сбором результатов оцифровки модулем DMA. При одинаковом подходе к реализации софта, не получится задействовать этот режим в STM32. Тогда какой смысл ардуины на STM32?
Вывод: чтобы использовать МК по полной нужно знать как он устроен и что может, иначе получите самолет использующийся как автомобиль (а ведь он летать может, а не только ездить по земле :))) )...
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

SIM31 писал(а):Или PSoC, технологии ...
http://we.easyelectronics.ru/sypsoc/pso ... start.html
https://habrahabr.ru/post/145285/

Эти PSoC-1 уже неактуальны. Сейчас в ходу PSoC-4,5 и выше. По четвёртым здесь статья есть.
SIM31 писал(а):WiFi бы не помешал поверх.

Интересует WiFi? Я сюда по работе с силлабовским ARM-модулем с WiFi статью представил, но обновления на сайте почему-то давно не было. Надеюсь после конкурса где-то в октябре появится. Пока можно .doc-файл скачать.
Аватара пользователя
SIM31
Это не хвост, это антенна
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

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

Сообщение SIM31 »

scorpi_0n писал(а):Они лучшие в своём классе.


Верно. Только со сноской, как рекламщики делают:
* в очень, очень, очень узкоспециализированной области.


И куда это чудо? На термометр с семисегментником?


И с web интерфейсом.

Угу. Космические цены, космические возможности, которые мало кому нужны и в которых мало кто разбирается по лени своей. Пять пользователей на весь мир.


От 6$ рублей платы готовые, разбирают весьма активно

http://ru.aliexpress.com/item/1-pcs-x-C ... 0324187f6d

Пользователей не много, но и продукт новый. То же ядро, что у STM32 (знания STM32 не пропадут, в поддержку этих МК скажу), и добавляется периферия гибкая.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

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

Сообщение scorpi_0n »

SIM31 писал(а):Верно. Только со сноской, как рекламщики делают:
* в очень, очень, очень узкоспециализированной области.

Угу. Сами придумали? А зачем?
И с web интерфейсом.

Это сейчас не проблема.
Пользователей не много, но и продукт новый. То же ядро, что у STM32 (знания STM32 не пропадут, в поддержку этих МК скажу), и добавляется периферия гибкая.

Которую СТМ32 частично перекрывает. А отсутствие юзеров ставит крест на данной идее.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

SIM31 писал(а):От 6$ рублей платы готовые, разбирают весьма активно
По этой плате мало инфы. Вместо того чтобы тут оффтопить, создайте тему в соответствующим разделе и расскажите нам больше об этой плате. :) Какие у нее достоинства и недостатки, где найти среду программирования, дайте ссылки на примеры кода и т. д. :)
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

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

Сообщение Ser60 »

SIM31 писал(а):От 6$ рублей платы готовые, разбирают весьма активно...
Пользователей не много, но и продукт новый.

У местных дистрибъюторов типа digikey такие платы стоят 4$. Этим уже несколько лет, более новые PSoC-и серий M и L. Кстати, в Европе и США сайпровские PSoC весьма популярны.

Мурик писал(а):По этой плате мало инфы...
создайте тему...
где найти среду программирования, дайте ссылки на примеры кода и т. д.

Инфы по ней на сайте производителя достаточно.
Тема здесь уже создана.
По остальным вопросам здесь имеется моя статья, см. также ссылки в ней на подобные.
Аватара пользователя
scorpi_0n
Вымогатель припоя
Сообщения: 616
Зарегистрирован: Вс ноя 01, 2015 13:13:49

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

Сообщение scorpi_0n »

Ser60 писал(а):У местных дистрибъюторов типа digikey такие платы стоят 4$. Этим уже несколько лет, более новые PSoC-и серий M и L. Кстати, в Европе и США сайпровские PSoC весьма популярны.

Печальная тема, очень печальная, ну совсем не впечатлила. Разве что для самообразования. Только под выпуск 10-100 девайсов в год, да и то, если уж по другому никак, что бывает крайне редко.
Аватара пользователя
СЦБист
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

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

Сообщение СЦБист »

Мурик писал(а):[q За месяц разобрался с STM32 по статьям и примерам из инета.)


а описание регистров смотрели ?

или тут можно и без этого обойтись ?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

СЦБист писал(а):а описание регистров смотрели
Смотрел когда была необходимость. Библиотеки SPL и HAL позволяют разрабатывать программы без необходимости изучения МК на уровне регистров.
Аватара пользователя
СЦБист
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

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

Сообщение СЦБист »

Есть функция

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

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);



по определению RCC_APB2Periph_GPIOC равно ((uint32_t)0x00000010)

откель взялось это число ((uint32_t)0x00000010) ? что это ?

с каким регистром это связанно ?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

ПКМ по RCC_APB2PeriphClockCmd и в меню выбрать "Найти реализацию". Откроется файл stm32f0xx_rcc.c с кодом функции

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

/**
  * @brief  Enables or disables the High Speed APB (APB2) peripheral clock.
  * @note   After reset, the peripheral clock (used for registers read/write access)
  *         is disabled and the application software has to enable this clock before
  *         using it.
  * @param  RCC_APB2Periph: specifies the APB2 peripheral to gates its clock.
  *          This parameter can be any combination of the following values:
  *             @arg RCC_APB2Periph_SYSCFG: SYSCFG clock
  *             @arg RCC_APB2Periph_ADC1:   ADC1 clock
  *             @arg RCC_APB2Periph_TIM1:   TIM1 clock
  *             @arg RCC_APB2Periph_SPI1:   SPI1 clock
  *             @arg RCC_APB2Periph_USART1: USART1 clock
  *             @arg RCC_APB2Periph_TIM15:  TIM15 clock
  *             @arg RCC_APB2Periph_TIM16:  TIM16 clock
  *             @arg RCC_APB2Periph_TIM17:  TIM17 clock
  *             @arg RCC_APB2Periph_DBGMCU: DBGMCU clock
  * @param  NewState: new state of the specified peripheral clock.
  *          This parameter can be: ENABLE or DISABLE.
  * @retval None
  */
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
{
  /* Check the parameters */
  assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
  assert_param(IS_FUNCTIONAL_STATE(NewState));

  if (NewState != DISABLE)
  {
    RCC->APB2ENR |= RCC_APB2Periph;
  }
  else
  {
    RCC->APB2ENR &= ~RCC_APB2Periph;
  }
}
Это для STM32F0xx. Для других семейств, код может отличаться. С каким регистром связанно думаю понятно из кода.
Аватара пользователя
СЦБист
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

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

Сообщение СЦБист »

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

с регистром и каким регистром. stm32f10x
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

СЦБист писал(а):с регистром и каким регистром
В коде видно что регистр APB2ENR, или нет? :shock:

Если нужно больше подробностей, открываете Reference manual на STM32F10x серию (en.CD00171190.pdf) и ищите регистр. На 112 странице находится таблица с битами и их описание.
Спойлер

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

Bits 31:22 Reserved, must be kept at reset value.

Bit 21 TIM11EN: TIM11 timer clock enable
Set and cleared by software.
0: TIM11 timer clock disabled
1: TIM11 timer clock enabled

Bit 20 TIM10EN: TIM10 timer clock enable
Set and cleared by software.
0: TIM10 timer clock disabled
1: TIM10 timer clock enabled

Bit 19 TIM9EN: TIM9 timer clock enable
Set and cleared by software.
0: TIM9 timer clock disabled
1: TIM9 timer clock enabled

Bits 18:16 Reserved, always read as 0.

Bit 15 ADC3EN: ADC3 interface clock enable
Set and cleared by software.
0: ADC3 interface clock disabled
1: ADC3 interface clock enabled

Bit 14 USART1EN: USART1 clock enable
Set and cleared by software.
0: USART1 clock disabled
1: USART1 clock enabled

Bit 13 TIM8EN: TIM8 Timer clock enable
Set and cleared by software.
0: TIM8 timer clock disabled
1: TIM8 timer clock enabled

Bit 12 SPI1EN: SPI1 clock enable
Set and cleared by software.
0: SPI1 clock disabled
1: SPI1 clock enabled

Bit 11 TIM1EN: TIM1 timer clock enable
Set and cleared by software.
0: TIM1 timer clock disabled
1: TIM1 timer clock enabled

Bit 10 ADC2EN: ADC 2 interface clock enable
Set and cleared by software.
0: ADC 2 interface clock disabled
1: ADC 2 interface clock enabled

Bit 9 ADC1EN: ADC 1 interface clock enable
Set and cleared by software.
0: ADC 1 interface disabled
1: ADC 1 interface clock enabled

Bit 8 IOPGEN: IO port G clock enable
Set and cleared by software.
0: IO port G clock disabled
1: IO port G clock enabled

Bit 7 IOPFEN: IO port F clock enable
Set and cleared by software.
0: IO port F clock disabled
1: IO port F clock enabled

Bit 6 IOPEEN: IO port E clock enable
Set and cleared by software.
0: IO port E clock disabled
1: IO port E clock enabled

Bit 5 IOPDEN: IO port D clock enable
Set and cleared by software.
0: IO port D clock disabled
1: IO port D clock enabled

Bit 4 IOPCEN: IO port C clock enable
Set and cleared by software.
0: IO port C clock disabled
1: IO port C clock enabled

Bit 3 IOPBEN: IO port B clock enable
Set and cleared by software.
0: IO port B clock disabled
1: IO port B clock enabled

Bit 2 IOPAEN: IO port A clock enable
Set and cleared by software.
0: IO port A clock disabled
1: IO port A clock enabled

Bit 1 Reserved, must be kept at reset value.

Bit 0 AFIOEN: Alternate function IO clock enable
Set and cleared by software.
0: Alternate Function IO clock disabled
1: Alternate Function IO clock enabled
Почему в RCC_APB2Periph_GPIOC число 0x10? Потому что в двоичной системе счисления оно равно 00010000, т. е. установлен 4 бит, т. е. IOPCEN отвечающий для тактирование GPIOC.
Надеюсь теперь понятно? :)
Аватара пользователя
СЦБист
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

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

Сообщение СЦБист »

вообщем вот к чему я пришел
Мурик писал(а):[qAPB2ENR, или нет? :shock:

:)



как это Вы определили ?
Вложения
Безымянный.JPG
(113.03 КБ) 472 скачивания
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

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

СЦБист писал(а):как это Вы определили ?
Что именно?

В функции RCC_APB2PeriphClockCmd производится изменение битов регистра APB2ENR
RCC->APB2ENR
Аватара пользователя
СЦБист
Это не хвост, это антенна
Сообщения: 1337
Зарегистрирован: Сб июн 09, 2012 02:14:11
Откуда: ХАРЬКОВ

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

Сообщение СЦБист »

я пошел дальше и пришел к такой структуре

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

typedef struct
{
  __IO uint32_t CR;
  __IO uint32_t CFGR;
  __IO uint32_t CIR;
  __IO uint32_t APB2RSTR;
  __IO uint32_t APB1RSTR;
  __IO uint32_t AHBENR;
  __IO uint32_t APB2ENR;
  __IO uint32_t APB1ENR;
  __IO uint32_t BDCR;
  __IO uint32_t CSR;

#ifdef STM32F10X_CL
  __IO uint32_t AHBRSTR;
  __IO uint32_t CFGR2;
#endif /* STM32F10X_CL */

#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
  uint32_t RESERVED0;
  __IO uint32_t CFGR2;
#endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */
} RCC_TypeDef;


это как я понял относится к регистровой карте что на скрине
Вложения
Безымянный.JPG
(134.52 КБ) 482 скачивания
Ответить

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