Например TDA7294

Форум РадиоКот • Просмотр темы - Stm32 с чего начать изучение...
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт дек 16, 2025 08:16:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1036 ]     ... , , , 11, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 12:42:46 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 1
Тыкаясь в спл а тем более в калокубе, вы ничего не осознаете.
А сие
Цитата:
Библиотеки SPL и HAL позволяют разрабатывать программы без необходимости изучения МК на уровне регистров.

Мягко говоря лукавство, а по большому счету - ложь.

Для 103ьих - по умолчанию тактирование всей периферии выключено.
За это отвечает домен RCC Reset and Clock Control[/b]

Открываем даташит , ищем диаграмму STM32F103xx performance line block diagram
Где указано на какой шине какая периферия висит.
GPIOC на APB2.
Идем читать RM .
Ищем регистры RCC, конкретно RCC_APB2ENR. (APB2 ENable Registr)

Имена регистров образуются так - домен _ имя регистра .
Так же образуются имена бит регистров домен_ имя регистра _ имя бита
Это и есть стандарт CMSIS, и по этому стандарту прописаны и регистры и биты в хэдере.

Таким образом бит отвечающий за включение GPIOC - RCC_APB2ENR_IOPCEN


Ну и включаем GPIOC :

RCC->APB2ENR |=RCC_APB2ENR_IOPCEN;

Таким образом даже не нужно знать значение RCC_APB2ENR_IOPCEN, но если приспичит - все они прописаны в хэдере.


Последний раз редактировалось dosikus Вс авг 21, 2016 12:56:14, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 12:54:25 
Это не хвост, это антенна
Аватар пользователя

Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11
Сообщений: 1337
Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
полюбасу надо смотреть описание регистров.

пока я только вникаю в принципы построения этих структур.

пока выяснил что каждая структура связанна с конкретной картой регистров.

в карте может быть куча регистров.

эти регистры карты и есть поля структуры.

структура для портов как я понял.

Код:
typedef struct
{
  __IO uint32_t CRL;
  __IO uint32_t CRH;
  __IO uint32_t IDR;
  __IO uint32_t ODR;
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
  __IO uint32_t LCKR;
} GPIO_TypeDef;


Вложения:
Безымянный.JPG [127.76 KiB]
Скачиваний: 537
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:13:48 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
dosikus, программу можно написать используя библиотеки SPL или HAL и только при необходимости напрямую обращаясь к регистрам. Так что никакой лжи в моих словах нет. :)

СЦБист писал(а):
я пошел дальше и пришел к такой структуре
Найти эту структуру можно парой кликов мышкой. :)
ПКМ по RCC и в меню выбрать "Найти объявление". Откроется файл stm32f10x.h со строкой
Код:
#define RCC                 ((RCC_TypeDef *) RCC_BASE)
Далее проделываем тоже самое кликнув по RCC_TypeDef и смотрим структуру в файле stm32f10x.h. :)

Чтобы было меньше вопросов по устройству МК нужно хотя бы поверхностно ознакомится с ядром ARM Cortex-M. Из литературы на русском можно посмотреть "Мартин М. Инсайдерское руководство по STM32".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:31:43 
Это не хвост, это антенна
Аватар пользователя

Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11
Сообщений: 1337
Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
хорошо бы иметь набор описаний функций. c примерами

к примеру функции для работы с портами , ацп и т.д.

а не так как в заголовочных все смешано.

кто то встречал подобное на других форумах ?

_____

нужно ли знать работу библиотечных функций , а именно работу начинки ?

в обычных языках этой хе..ей не занимался.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:36:08 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
"Программу" можно на тыкать и в аурдунье.
Эффективно работать с железом через спл и калокуб нельзя.
СЦБист, насколько я понимаю, хочет именно эффективно работать, а не копипастить чужие куски кода, непонятно как сляпанные.
Вся прелесть стм в периферии , периферии не настолько сложной чтобы закрываться от нее сплней и калокубом.

СЦБист, я уже писал - проштудируйте сниппетсы для F0 а так же примеры кода в RM . И лучше вААще начните сразу с F0 .

Да и какие вам примеры нужны? Для SPI , UART я здесь уже выкладывал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:40:15 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
СЦБист писал(а):
хорошо бы иметь набор описаний функций. c примерами
В сети мало примеров? :shock: Пробовали искать?
Нужно уметь самостоятельно находить нужную информацию, иначе никак!

dosikus писал(а):
"Программу" можно на тыкать и в аурдунье.
Ардуина дороже и начинка в ней (ATmega) оставляет желать лучшего. :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:44:06 
Это не хвост, это антенна
Аватар пользователя

Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11
Сообщений: 1337
Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
Я имел ввиду примеры применений конкретной функции из библиотеки.

ну типо что-то этого

http://www.cplusplus.com/reference/cstdlib/rand/


в заголовках есть описание функций но нету примера их применения.

нету нюансов и т.д.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:44:48 
Открыл глаза

Карма: 7
Рейтинг сообщений: 14
Зарегистрирован: Вт янв 19, 2016 23:13:21
Сообщений: 53
Рейтинг сообщения: 0
СЦБист писал(а):
структура для портов как я понял.
Код:
typedef struct
{
  __IO uint32_t CRL;
  __IO uint32_t CRH;
  __IO uint32_t IDR;
  __IO uint32_t ODR;
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
  __IO uint32_t LCKR;
} GPIO_TypeDef;


Ну без reference manual обойтись сложно, все таки там детально описаны все значения флагов управления, но можно и по SPL хеадерам.
Для каждой фичи МК, есть своя собственная структура типа <фичя>_TypeDef, ну и поинтеры ADC1, ADC2, TIMx, ..., GPIOx,в большинстве случаев эта структура хорошо описана уже в хеадере, так само как и все возможные параметры к ней которые можно найти по названию регистра,
например, для включения таймена #2 нужно установить бит CEN в TIM_CR1 в поинтере TIM2 со структорой TIM_TypeDef, а параметры к нему можно найти в хеадере по префиксу TIM_CR1_<имя нужного бита>
Код:
TIM2->CR1 |= TIM_CR1_CEN
, хотя такой метод з хеадерами не всигда прокатит для регистров с длинной больше одного бита:
СпойлерИзображение
Изображение


Вложения:
rm.png [124.71 KiB]
Скачиваний: 849
params.png [97.33 KiB]
Скачиваний: 831
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 13:51:27 
Открыл глаза

Карма: 7
Рейтинг сообщений: 14
Зарегистрирован: Вт янв 19, 2016 23:13:21
Сообщений: 53
Рейтинг сообщения: 1
СЦБист писал(а):
Я имел ввиду примеры применений конкретной функции из библиотеки.

ну типо что-то этого

http://www.cplusplus.com/reference/cstdlib/rand/


в заголовках есть описание функций но нету примера их применения.

нету нюансов и т.д.

Возможно Вам нужно что то вроде UM1061 - Description of STM32F2xx Standard Peripheral Library
СпойлерИзображение


Вложения:
adc.png [82.75 KiB]
Скачиваний: 850
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 14:55:57 
Это не хвост, это антенна
Аватар пользователя

Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11
Сообщений: 1337
Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
lazarev писал(а):
[q
Возможно Вам нужно что то вроде UM1061 - Description of STM32F2xx Standard Peripheral Library
СпойлерИзображение



да, это похоже на то что мне надо.

где скачать этот пдф не подскажите, буду признателен за помощь... :beer:

http://cxem.net/mc/mc133.php
тут нашел описание на несколько функций, но шибко жиденькое.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:04:38 
Открыл глаза

Карма: 7
Рейтинг сообщений: 14
Зарегистрирован: Вт янв 19, 2016 23:13:21
Сообщений: 53
Рейтинг сообщения: 1
СЦБист писал(а):
где скачать этот пдф не подскажите, буду признателен за помощь... :beer:
UM1061 или тут

СЦБист писал(а):
http://cxem.net/mc/mc133.php
тут нашел описание на несколько функций, но шибко жиденькое.
о, так это ж перевод первых страниц сUM1061


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:15:37 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 1
СЦБист писал(а):
да, это похоже на то что мне надо.
Описание почти аналогичное тому что в SPL.
Код:
/**
  * @brief  Initializes the ADCx peripheral according to the specified parameters
  *         in the ADC_InitStruct.
  * @param  ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.
  * @param  ADC_InitStruct: pointer to an ADC_InitTypeDef structure that contains
  *         the configuration information for the specified ADC peripheral.
  * @retval None
  */
void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:18:42 
Это не хвост, это антенна
Аватар пользователя

Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11
Сообщений: 1337
Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
Нужно ли знать , как реализована начинка библиотечных функций ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:32:21 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
СЦБист, работу периферии вам не объяснит ни мануал на спл ни калокуб . Не занимайтесь фигнёй как эти товарищи.
Что спл что калокуб содержат в себе примитивы аналоги софтодрочерства, в то время как периферия рассчитана на полную аппаратную работу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:33:12 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Знать желательно (чтобы понимать как устроена и работает функция), но не обязательно. :)
Это примерно как с WinAPI.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:34:34 
Открыл глаза

Карма: 7
Рейтинг сообщений: 14
Зарегистрирован: Вт янв 19, 2016 23:13:21
Сообщений: 53
Рейтинг сообщения: 0
СЦБист писал(а):
Нужно ли знать , как реализована начинка библиотечных функций ?

Нет не обязательно, хотя вам никто не мешает :)

Например я никогда не использовал этот функционал, а только структуры и переменные с параметрами для регистров,
так получаеться бистреє, и меньше кода(если вам важна скорость)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 15:47:42 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Они ниавные чукотские юноши считают, что в тех говнолибах, что они юзают реализован весь функционал, ну пусть так думают.
Теперь дело за вами, или вмести с ними гнить в ардуиновском болоте или плодотворно изучать платформу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 18:36:49 
Открыл глаза

Карма: 7
Рейтинг сообщений: 14
Зарегистрирован: Вт янв 19, 2016 23:13:21
Сообщений: 53
Рейтинг сообщения: 0
Каждому свое, кому то больше по душе осознанность, лаконичность и быстродействие а кому то достаточно базового функционала с красивым конструктором с графическим интерфейсом, валидацией, менюшками, все возможными значениями, куда нужно вставить только бизнес логику:
СпойлерВыглядит очень даже симпатиШно, но цена этому - куча шаблонного/ненужного кода, и бесполезных "проверок на дурака"
Изображение
Изображение
хотя наверное все рано или поздно приходят к истокам и "ручной" настройке... :D


Вложения:
cube_src.zip [26.93 KiB]
Скачиваний: 176
cube_p.png [113.71 KiB]
Скачиваний: 578
cube_CC.png [104.55 KiB]
Скачиваний: 743
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 19:21:27 
Вымогатель припоя
Аватар пользователя

Карма: 3
Рейтинг сообщений: 253
Зарегистрирован: Вт июн 25, 2013 18:45:07
Сообщений: 606
Рейтинг сообщения: 0
Мурик писал(а):
Это примерно как с WinAPI.


Да нет, не тот уровень. Это скорее как работа с драйвером устройства - нужно четко осознавать взаимодействие драйвера с железом, чтобы корректно посылать и обрабатывать запросы.
В Windows работа с железом через драйвера - это необходимость, и сделана по причине большой сложности и закрытости этого самого железа, и производитель согласен поставлять собственные драйвера лишь бы держать в тайне железо.
У STM32 же периферия простая, открытая и хорошо задокументирована, поэтому и всякие HAL - это излишество.

Немного оффтопа ))
Сейчас время такое - все компании повышают уровень абстракции. На больших ОС поначалу драйвера, потом API, теперь вовсю толкают фреймворки, чтобы как можно больше изолировать разработчика от железа. Это компаниям выгодно, поскольку позволяет со временем совсем закрывать для разработчиков низкоуровневый доступ. Скажем, если львиная доля программистов в мире полностью пересядут на дотнет, то это позволит мелкомягким изменять нижележащую Windows как им заблагорассудится. Вот перепишут начисто API и закроют MSDN, сделают её конфиденциальной и платной - тогда хорошо будет? Не думаю.
Такая же "голубая" мечта и у STM - закрыть прямой доступ к периферии. Это им выгодно. Дадут вам в зубы корявый индийский HAL - и радуйтесь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 21, 2016 19:45:17 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Andrew Martin писал(а):
мечта и у STM - закрыть прямой доступ к периферии
Смысл? Многие сменят производителя МК и уровень продаж у ST уменьшится. Им это нужно?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1036 ]     ... , , , 11, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y