-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
1

stm32 настройка режима output compare

05.02.2024, 20:22. Показов 1265. Ответов 5

Author24 — интернет-сервис помощи студентам
Настроил я таймер в режиме output compare togle.Включил в майн и всё погасло ни генерации ни чего.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void timer_2_init(void)
{
    RCC->APB2ENR|=RCC_APB2ENR_IOPAEN;
    GPIOA->CRL |= GPIO_CRL_CNF0_1;
    GPIOA->CRL &= ~GPIO_CRL_CNF0_0;
   GPIOA->CRL|=GPIO_CRL_MODE0;
   RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
    RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
 
    TIM2->PSC =2-1; // ����������� �������� ��� ������ ����� 1000 ��� � �������
    TIM2->ARR = 3 - 1; //65535
    TIM2->CCR1= 2;
    TIM2->CCMR1&=~TIM_CCMR1_CC1S;
    TIM2->CCMR1|=_VAL2FLD(TIM_CCMR1_OC1M,2);
    TIM2->CCMR1&=~TIM_CCMR1_OC1PE;
    TIM2->CCER&=~TIM_CCER_CC1P;
    TIM2->CCER|=TIM_CCER_CC1E;
    TIM2->EGR |= TIM_EGR_UG;
    TIM2->DIER |=TIM_DIER_CC1IE;
 
    //TIM2->DIER |= TIM_DIER_UIE;
    TIM2->CR1 |= TIM_CR1_CEN;
    NVIC_EnableIRQ(TIM2_IRQn);
    //NVIC_GetPriority(TIM2_IRQn,0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2024, 20:22
Ответы с готовыми решениями:

Output Compare
Доброго времени суток. Изучать микроконтроллеры начал недавно, возникло желание собрать симисторный...

STM32F0 Timer Output Compare
Всем привет. Нужна помощь, обнаружился некоторый нюанс в работе таймера в режиме...

Timer настройка PWM mode и Output Compare
Добрый день, хочу настроить 2 канала одного таймера в режиме PWM и Output Compare No Output. Т.е....

В чем разница при объявлении методов Compare(.) и IComparer.Compare(.)
Здравствуйте. У меня вопрос, связанный с реализацией методов сравнения, которые используются далее...

настройка компиляции и режима отладки
Не получается компилировать на Flex Builder 3, так как он выдает "flex builder cannot locate the...

5
21 / 14 / 7
Регистрация: 15.07.2018
Сообщений: 50
06.02.2024, 18:54 2
Вы установили очень маленькие значения для PSC и ARR. Это приведет к очень высокой частоте сигнала на выходе, возможно, даже выше, чем может обработать микроконтроллер. Обычно для тестирования начинают с более высоких значений, чтобы увидеть заметные изменения на выходе.
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
06.02.2024, 20:08  [ТС] 3
А в другом режиме счёта с прерыванием генерация просматривается.
0
21 / 14 / 7
Регистрация: 15.07.2018
Сообщений: 50
06.02.2024, 22:12 4
Если в другом режиме счета с прерыванием генерация сигнала наблюдается, это указывает на то, что базовая настройка таймера и GPIO в целом корректна.
Если вы используете LED для индикации работы таймера, убедитесь, что частота переключения не слишком высока для визуального восприятия. Используйте осциллограф для наблюдения за выходным сигналом, если это возможно.
0
-27 / 0 / 0
Регистрация: 15.12.2019
Сообщений: 311
07.02.2024, 20:16  [ТС] 5
C
1
TIM2->CCMR1|=TIM_CCMR1_OC1PE;
Вот этот бит я переправил установил в 1.Хотя по документации нужно в 0.А как оно будет работать кто может объяснить ?

Добавлено через 30 минут
И генерация меандра на stm32f103c8t ну своим китайским прибором измерял частота 17.99 MHz.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,519
07.02.2024, 21:58 6
Цитата Сообщение от ivan rusev Посмотреть сообщение
TIM2->CCMR1|=TIM_CCMR1_OC1PE;
OC1PE: Output Compare 1 preload enable
Бит для управления буферизацией регистра TIMx_CCR1.
0: буферизация регистра TIMx_CCR1 не используется; запись в регистр TIMx_CCR1 может быть произведена в любой момент и новое значение начнёт использоваться немедленно.
1: используется буферизация регистра TIMx_CCR1; операции чтения/записи выполняются с буферным регистром, новое значение из буфера передаётся в активный регистр (который и управляет работой таймера) при каждом событии обновления.
отсюда http://www.rotr.info/electroni... TIMx_CCMR1
0
07.02.2024, 21:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2024, 21:58
Помогаю со студенческими работами здесь

Правильная настройка двухканального режима
хочу докупить 2гб RAM. у меня двухканальная мать, не будет ли проблем если поставить так: DIMM1:...

Настройка ADC в STM32
Есть возможность использовать откоректированное значение опорного напряжения. VREFINT_CAL как я...

Настройка внешних прерываний stm32
EXTI_InitTypeDef EXTI_InitStructure; EXTI_InitStructure.EXTI_Line = EXTI_Line0 | EXTI_Line1 |...

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

Настройка таймера в режиме захвата STM32
Здравствуйте! Есть датчик холла, необходимо измерить частоту импульсов. Хочу настроить таймер 4 на...

stm32 GSM программная настройка модуля
захотел усвоить GSM модуль с взаимодействием с stm32.Столкнулсся где информацию найти по АТ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru