Например TDA7294

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

Текущее время: Сб окт 18, 2025 16:39:54

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1032 ]     ... , , , 25, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср янв 15, 2020 17:05:33 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 152
Откуда: Самара
Рейтинг сообщения: 0
К сожалению да(
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср янв 15, 2020 17:38:24 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
а во вкладке Debugger что выбрано?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср янв 15, 2020 18:42:59 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 152
Откуда: Самара
Рейтинг сообщения: 0
Вот як то так
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Сб фев 01, 2020 23:57:16 
Открыл глаза

Зарегистрирован: Ср сен 24, 2014 12:30:09
Сообщений: 65
Рейтинг сообщения: 0
Ребят, подскажите - уже устал бороться с системой в одиночку. Довольно долго программировал пики и AVR на ассемблере, привык работать на регистрах без каких-либо библиотек. Сейчас пытаюсь осваивать ARM. Существует ли какая-либо литература с описанием работы с STM32 (на языке C) чисто на регистрах, без всяких там HAL и другого барахла? Желательно на русском языке. На официальную документацию от ST прошу не ссылаться, ибо уровень понятности их документации для новичков, мягко говоря, отстает в сотни раз от того же Микрочипа.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 00:12:00 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Чем вам библиотеки не понравились? SPL к примеру? Не нужно сильно вникать в особенности нового изучаемого МК.
Они с открытым кодом и если что, можно смотреть как организована работа с регистрами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 00:29:10 
Открыл глаза

Зарегистрирован: Ср сен 24, 2014 12:30:09
Сообщений: 65
Рейтинг сообщения: 0
Попытаюсь объяснить, почему я принципиально не использую библиотеки. Вот пример команды инициализации ноги порта из MikroC:

Код:
GPIO_Set_Pin_Mode(&GPIOA_BASE, _GPIO_PIN_0, _GPIO_CFG_MODE_OUTPUT | _GPIO_CFG_PULL_UP);


Вопрос: как Вы считаете, смогу ли я вспомнить это идиотство через год, два, три? Да я спустя 1 минуту уже забыл, как пишутся эти операнды! А мало ли поменяется стандарт? Например, CMSIS и HAL сдохнут, введут что-то новое - и что, мне заново учить бред, как здесь говорилось ранее, индусов? В моем же случае я просто лезу в референс мануал и у меня сразу же в голове всплывает такой код:

Код:
RCC_APB2ENRbits.IOPAEN      = 1      ; // Enable PORTA clock.
GPIOA_CRHbits.CNF12            = 0b00 ; // PA12 as Push-Pull.
GPIOA_CRHbits.MODE12         = 0b10 ; // Output mode, max speed 2 MHz.


И это НИКОГДА не поменяется, пока выпускают данные МК. И самое главное, здесь я контролирую каждый бит, каждый такт. А что понаписали в своей библиотеке микроэлектрониковцы - непонятно, также, как непонятно зачем в режиме выхода порта они включают подтяжку к питанию.

Я никому не навязываю свое мнение или видение, просто, мало ли, здесь еще найдутся люди, которые также устали искать информацию по крупицам среди тонн статей с использованием библиотек.

Кстати, поделюсь сайтом, где человек довольно просто и грамотно объясняет все на регистрах: http://narodstream.ru/stm-urok-144-rezh ... p-chast-1/. Там много статей по STM32.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 01:05:12 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2089
Рейтинг сообщения: 0
Вопрос: как Вы считаете, смогу ли я вспомнить это идиотство через год, два, три? Да я спустя 1 минуту уже забыл, как пишутся эти операнды!

Я, конечно, не призываю использовать HAL/SPL, но в одном случая по крайней мере ясно что происходит:
Код:
GPIO_Set_Pin_Mode(&GPIOA_BASE, _GPIO_PIN_0, _GPIO_CFG_MODE_OUTPUT | _GPIO_CFG_PULL_UP);

а в другом, если убрать комментарии, непонятно ничего:
Код:
GPIOA_CRHbits.CNF12           = 0b00;
GPIOA_CRHbits.MODE12         = 0b10;

Причем даже эта "наглядность" приводит к накладным расходам, т.к приходится дважды читать и писать в один и тот же регистр... Более того, у всех остальных серий STM32 регистры портов другие и их больше, соответственно придется лезть в другой RM и писать совершенно другой код. Получается сложновато, по крайней мере для людей считающих официальную документацию не очень понятной...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 03:46:52 
Открыл глаза

Зарегистрирован: Ср сен 24, 2014 12:30:09
Сообщений: 65
Рейтинг сообщения: 0
Есть правда в Ваших словах, согласен. Хотя, признаю, здесь, скорее, играет бОльшую роль желание понимать, как работает МК, чем какое-либо отвращение к библиотекам. Не хочется становиться ардуинщиком - для меня это позор :).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 04:26:58 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 54
Зарегистрирован: Ср ноя 20, 2013 11:29:26
Сообщений: 308
Откуда: Манчестер
Рейтинг сообщения: 0
Если вы программируете другие контроллеры, то что может быть не понятного в рефмане от производителя? В конечном счете это просто список регистров и способ их манипуляции.
В целом я поддерживаю ваш подход, тоже не использую никакие библиотеки, иногда доходит до экстремизма, приходится просто по рефману дефайнить регистры по их адресам, а потом уже к ним обращаться. Немного громоздко, но зато все под контролем.
Вы бы пример привели того, что вам не понятно.

_________________
При решение наиболее сложных задач, большинство, как правило, ошибается...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 05:22:45 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2544
Рейтинг сообщения: 0
Lum1noFor, работать по RM это хорошо и правильно! Но делать это постоянно - пустая трата времени. А если вы ещё и одновременно с разными типами микроконтроллеров работаете? Поэтому, набираемся смелости и пишем свою библиотеку. И тогда пишем всего одно слово PinMode:: и IDE сама для того процессора с которым мы сейчас работаем предлагает выбрать нужный режим.
Изображение
И как заметил Reflector, это будет не только эффективней HAL/SPL, но и эффективней того как пишет среднестатистический программист на CMSIS. И не надо в голове держать какие биты в каком регистре для конкретного контроллера надо задать. Даже в пределах STM32 они могут быть как чуть-чуть разные, так и совершенно другие. Не говоря уже про других производителей.
Вложение:
PinMode.png [18.93 KiB]
Скачиваний: 906


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 13:24:11 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Lum1noFor писал(а):
Вот пример команды инициализации ноги порта из MikroC:
В MikroC не пишу но из кода сразу понятно что настраивается GPIOA.0 на выход с подтягивающим резистором к плюсу.

Lum1noFor писал(а):
Например, CMSIS и HAL сдохнут, введут что-то новое - и что, мне заново учить бред, как здесь говорилось ранее, индусов? В моем же случае я просто лезу в референс мануал и у меня сразу же в голове всплывает такой код:
Знаете что это специфический для MikroC код? И он не работает в других IDE.
СпойлерИзображение
Вложение:
STM32.png [26.81 KiB]
Скачиваний: 114
Кроме того, код настройки выводов через регистры у F0, F1 и др. отличается, а в случае GPIO_Set_Pin_Mode он скорее всего будет тем же.

Lum1noFor писал(а):
И это НИКОГДА не поменяется, пока выпускают данные МК.
Если перестанут поддерживать MikroC ваш код придется полностью переписать, т. к. как уже писал в MikroC нестандартная работа с регистрами. :facepalm:
Зачем вы вообще выбрали MikroC? Есть много других IDE в том числе полностью бесплатных (в отличие от продукции микроэлектроники). Вот к примеру EmBitz http://purebasic.mybb.ru/viewtopic.php?id=575
В ней к примеру довольно легко настроить отладку в памяти или подключение к работающему МК. Как это сделать MikroC я так и не разобрался. На нашел настроек линкера и отладчика. :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 14:58:42 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 54
Зарегистрирован: Ср ноя 20, 2013 11:29:26
Сообщений: 308
Откуда: Манчестер
Рейтинг сообщения: 2
VladislavS писал(а):
А если вы ещё и одновременно с разными типами микроконтроллеров работаете?

Все это ни как не мешает работать через регистры. И запоминать их не настолько сложно, а в какой-то мере даже полезно при начальном знакомстве с типом МК.
Обычно программирование микроконтроллера не состоит из одной инициализации периферии, это лишь малая часть выполняемая в самом начале проекта и немного после. Основной функционал обычно содержит лишь короткие однотипные обращения к периферии. "Экономия времени" за счет незнания регистров это экономия на спичках.
Знание регистров само по себе полезно, особенно на этапе освоения.

_________________
При решение наиболее сложных задач, большинство, как правило, ошибается...


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

Зарегистрирован: Ср сен 24, 2014 12:30:09
Сообщений: 65
Рейтинг сообщения: 0
Спасибо всем за ответы! Пол порядку:

Цитата:
Знаете что это специфический для MikroC код? И он не работает в других IDE


Не совсем. Такой же формат кода в MPLAB от Микрочипа, а в нем я работал довольно много. В связи с чем и привык к такому представлению.

Цитата:
Если перестанут поддерживать MikroC ваш код придется полностью переписать


Все, что надо будет переписать - это:

Код:
RCC_APB2ENRbits.IOPAEN      = 1


исправить на:

Код:
RCC->APB2EN


А если бы я использовал библиотеки, а не регистры, то пришлось бы переписывать вообще все.

Цитата:
Зачем вы вообще выбрали MikroC


Главная причина: мне нахаляву подарили на работе лицензию с токеном. Не отказываться же, так? Вторая причина: я категорически не приемлю "кастрированные" версии платных продуктов за огромные деньги, такие, как Keli. Считайте это моим заскоком. Единственная нормальная на мой взгляд среда была - Atollic, когда ее купила ST и сделал бесплатной, но ее сейчас загнули полностью. Бесплатные программы для меня сразу отпадают по причине огромнейшего геморроя с первоначальной настройкой (я пока не очень большой специалист в языках высокого уровня). Попробовал настроить Eclipse + GCC по совету знакомого - чуть мозг не вывихнул. А в МикроСи все сделано для полных нубов - никаких первоначальных настроек, никаких инклудов и подключаемых файлов - поставил галочку в менеджере библиотек и все. Позволяет полностью сконцентрироваться на программе, а не на настройке среды.

Цитата:
В ней к примеру довольно легко настроить отладку в памяти или подключение к работающему МК. Как это сделать MikroC я так и не разобрался. На нашел настроек линкера и отладчика.


Да, отладчик в микроси бесполезный. Говорят, поддерживает для отладки только JLink от Segger за космические деньги. И то не знаю как, не пробовал. Софственный отладчик простецкий до жути, не умеет симулировать тики таймеров, переходы в прерывания (только вручную по кнопке) и еще многого. Но, в отличие от MPLAB X хоть правильно считает время выполнения команд.

Цитата:
Если вы программируете другие контроллеры, то что может быть не понятного в рефмане от производителя?


Абсолютно идиотский рефман. Когда на начальном этапе обучения пытался разобраться с прерываниями, долго думал, почему ничего не работает. Оказалось потому, что эти иди... кхм... нехорошие люди из ST запихали описание и настройки NVIC в Programming manual, лишь мельком упомянув его в рефмане. Ну ПОЧЕМУ нельзя было написать 10 лишних страниц?! Дальше: описание конкретного модуля МК может быть раскидано по крупицам по нескольким разным документам в разных местах, порой даже совсем непредсказуемых. Пример - настройка часов реального времени в F103. Половина регистров настройки часов находится, в мать его, разделе управления питанием. Мне после даташитов от микрочипа хочется повеситься от такой документации. Понятное дело, что писали это все в разных отделах компании, может даже в разных странах. Но что у них выйдет ТАКОЕ... Хочу попробовать поработать с контроллерами от NXP - может, у них хоть будет получше документация.


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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 22:59:43 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 54
Зарегистрирован: Ср ноя 20, 2013 11:29:26
Сообщений: 308
Откуда: Манчестер
Рейтинг сообщения: 0
Постоянно работаю с таймерами на 103ем процессоре для управления 8кВт преобразователем. Что именно не понятно? Там конечно есть скользкие моменты, что бы первый раз запустить таймер на внешний пин, нужно пройти полосу препятствий.

_________________
При решение наиболее сложных задач, большинство, как правило, ошибается...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс фев 02, 2020 23:38:08 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
Lum1noFor писал(а):
исправить на:
Вообще-то на
Код:
RCC->APB2EN |=RCC_APB2ENR_IOPAEN;
А теперь представьте что нужно переписать сотни, а то и тысячи строк.

Lum1noFor писал(а):
А если бы я использовал библиотеки, а не регистры, то пришлось бы переписывать вообще все.
С MikroC точно тоже самое. Формат работы с регистрами нестандартный.

Lum1noFor писал(а):
Не совсем. Такой же формат кода в MPLAB от Микрочипа
Но ведь в нем вы не можете компилировать для STM32.

Lum1noFor писал(а):
Попробовал настроить Eclipse + GCC по совету знакомого - чуть мозг не вывихнул.
Уже давал ссылку. http://purebasic.mybb.ru/viewtopic.php?id=575
Все настроено.

Lum1noFor писал(а):
Да, отладчик в микроси бесполезный. Говорят, поддерживает для отладки только JLink от Segger за космические деньги.
ST-Link поддерживает. http://purebasic.mybb.ru/viewtopic.php?id=564#p7232
Без аппаратного отладчика не всегда просто найти ошибку. Нарветесь на такую, долго будете искать причину.
И тестируемый код удобно выполнять в ОЗУ (если в МК его достаточно для кода и данных). Каждый раз прошивать это долго и количество стираний страниц ограничено.

Lum1noFor писал(а):
Когда на начальном этапе обучения пытался разобраться с прерываниями, долго думал, почему ничего не работает.
Без отладчика сложно согласен.
Lum1noFor писал(а):
Потому что сам застрял на изучении режима PWM таймера.
Вот поэтому проще использовать библиотеки.
Вот к примеру настройка PWM с использованием SPL.
Код:
#include "stm32f10x_conf.h"

extern uint32_t SystemCoreClock;

int main(void)
{
    SystemCoreClockUpdate(); // Узнаем тактовую частоту. Результат в SystemCoreClock.

    // Тактирование.
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

    // Конфигурация выводов.
    GPIO_InitTypeDef GPIO;
    GPIO.GPIO_Pin = GPIO_Pin_6; // Выход ШИМ.
    GPIO.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_Init(GPIOA, &GPIO);

    // Настройка таймера.
    TIM_TimeBaseInitTypeDef Tim;
    TIM_TimeBaseStructInit(&Tim);

    Tim.TIM_Prescaler = SystemCoreClock / 10000 -1; // После предделителя 10 кГц.
    Tim.TIM_Period = 10000 / 1 -1;                  // Частота переполнений 1 Гц.
    TIM_TimeBaseInit(TIM3, &Tim);                   // Инициализация таймера.

    // Настройка ШИМ.
    TIM_OCInitTypeDef PWM;
    TIM_OCStructInit(&PWM);

    PWM.TIM_Pulse = Tim.TIM_Period / 2;
    PWM.TIM_OCMode = TIM_OCMode_PWM1;
    PWM.TIM_OutputState = TIM_OutputState_Enable;
    PWM.TIM_OCPolarity = TIM_OCPolarity_High;

    TIM_OC1Init(TIM3, &PWM);

    TIM_Cmd(TIM3, ENABLE);

    while(1)
    {
    }
}
В отличие от MikroC, библиотека SPL с исходниками и вы можете посмотреть как устроены функции что поможет понять как работать с регистрами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пн фев 03, 2020 12:48:16 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 20
Рейтинг сообщений: 648
Зарегистрирован: Пт май 31, 2013 17:14:38
Сообщений: 2081
Откуда: Украина, Винница
Рейтинг сообщения: 0
так CubeIDE тот же самый Эклипс и настроенно из коробки. А джилинк стоит копейки - покупаете свисток стлинк и перешиваете, информации в интеренете куча.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пн фев 03, 2020 19:45:50 
Это не хвост, это антенна
Аватар пользователя

Карма: -16
Рейтинг сообщений: -136
Зарегистрирован: Чт фев 19, 2015 12:41:04
Сообщений: 1405
Рейтинг сообщения: 0
Вопрос: как Вы считаете, смогу ли я вспомнить это идиотство через год, два, три? Да я спустя 1 минуту уже забыл, как пишутся эти операнды!

Я, конечно, не призываю использовать HAL/SPL, но в одном случая по крайней мере ясно что происходит:
Код:
GPIO_Set_Pin_Mode(&GPIOA_BASE, _GPIO_PIN_0, _GPIO_CFG_MODE_OUTPUT | _GPIO_CFG_PULL_UP);

а в другом, если убрать комментарии, непонятно ничего:
Код:
GPIOA_CRHbits.CNF12           = 0b00;
GPIOA_CRHbits.MODE12         = 0b10;

Причем даже эта "наглядность" приводит к накладным расходам, т.к приходится дважды читать и писать в один и тот же регистр... Более того, у всех остальных серий STM32 регистры портов другие и их больше, соответственно придется лезть в другой RM и писать совершенно другой код. Получается сложновато, по крайней мере для людей считающих официальную документацию не очень понятной...

Зачем убирать комментарии? И, накладные расходы меньше в случае кода с комментариями. Начинающему, код с комментариями более понятен. И, наконец, просто количество буковок, где ошибаться никак нельзя в коде с комментариями меньшее количество. Комментарий можно написать на национальном языке. Я конечно понимаю, что дело в Ваших личных привычках, но не поддерживаю такую "СТАНДАРТИЗАЦИЮ" на основе СУБЪЕКТИВНОГО восприятия реальности конкретным ИНДИВИДУУМОМ. И, наконец, в случае кода с "комментариями" следует согласиться, что и в этом случае имеет место "субъективизм", но, хотя-бы, для такого случая НИКТО не ВОПИТ о СТАНДАРТИЗАЦИИ. А вот мой личный субъективизм "Современная, якобы, стандартизация видится мне, как попытку создания некой СУБКУЛЬТУРЫ, во многом ограниченной!!! (или, если хотите, САМООГРАНИЧЕННОЙ) и, заключенной в оклад церковной иконы"

_________________
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пн фев 03, 2020 23:07:19 
Открыл глаза

Зарегистрирован: Ср сен 24, 2014 12:30:09
Сообщений: 65
Рейтинг сообщения: 0
Постоянно работаю с таймерами на 103ем процессоре для управления 8кВт преобразователем. Что именно не понятно? Там конечно есть скользкие моменты, что бы первый раз запустить таймер на внешний пин, нужно пройти полосу препятствий.


Для начала непонятно вот что:

Как я понял, при досчитывании таймером до значения регистра ARR таймер сбрасывается и генерируется событие, так? Это аналог регистра периода в PIC, правильно я понимаю?

Далее: регистр TIMx control register 1 (TIMx_CR1).

Что такое ARPE: Auto-reload preload enable
0: TIMx_ARR register is not buffered
1: TIMx_ARR register is buffered

Что такое auto-reload, preload?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пн фев 03, 2020 23:23:04 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -24
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 1
Lum1noFor, буферизация ARR означает, что содержимое этого регистра изменится не сразу, а при следующем UEV. Это помогает избежать некоторых косяков (скажем, уменьшили значение ARR, когда текущее значение счетчика уже выше нового значения; и таймер будет досчитывать до переполнения).
Цитата:
Что такое auto-reload, preload?

ARR - auto reload register.
preload - загрузить новое значение с буферизацией.

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт фев 04, 2020 00:06:36 
Открыл глаза

Зарегистрирован: Ср сен 24, 2014 12:30:09
Сообщений: 65
Рейтинг сообщения: 0
Eddy_Em, Вам бы книжки писать - умеете объяснить для дебилов, спасибо!

Может, кому понадобится - простейшая инициализация TIM2 на регистрах (включение прерывания на регистрах приводить не буду, ибо смысла от этого мало, а сложность приличная - использую родную функцию NVIC_IntEnable). Код на МикроСи, но в довольно понятном виде:

Код:
void TIM2_Init() {                                 // TIM2 1us delay. F = 8 MHz.

RCC_APB1ENRbits.TIM2EN          =     1          ; // Enable TIM2 clock.

TIM2_CR1bits.CEN                =     0          ; // Disable TIM2.
TIM2_CR1bits.DIR_               =     0          ; // Counter used as upcounter.

TIM2_PSC                        =     0          ; // TIM2 prescaler value is 0.
TIM2_ARR                        =     7          ; // Set TIM2 period.

TIM2_DIERbits.UIE               =     1          ; // Allow interrupt on the update event.

NVIC_IntEnable(IVT_INT_TIM2)                     ; // Enable TIM2 interrupt.

TIM2_CR1bits.CEN                =     1          ; // Start TIM1!

}

void Timer2_interrupt() iv IVT_INT_TIM2 {

//Enter your code here
 
TIM2_SRbits.UIF                 =     0          ; // Clear TIM2 interrupt flag.
}


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

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


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

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


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

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


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