реклама на сайте
подробности

 
 
> stm32f103 непонятки с таймером, частота прерываний на порядок ниже и фаза плавает
gena_p1
сообщение Sep 2 2014, 20:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-05-10
Пользователь №: 57 193



Допустим, делаю генератор с частотой 5кГц, а получаю 454 Гц и фаза пляшет как хочет (смотрю осциллом).

Других прерываний нет, таймеры остановлены. Библиотеки инициализации все раскопал, частоты тактирования AHB, APB1,2 правильные (72, 36 и 72 МГц соотв.).
Из странно, TIM4_Struct.TIM_ClockDivision пробовал 1,2,4. Те же 454 Гц все равно.

Подскажите плс., что за грабли.


вот инициализация:

Код
    TIM_TimeBaseInitTypeDef TIM4_Struct;
    TIM4_Struct.TIM_Prescaler             = (7200)-1;            //72M / 7200  => 100KHZ freq    ...._rcc.c  без прескалера, скорость двойная! (шина 36, но тактовая x2)
    TIM4_Struct.TIM_CounterMode         = TIM_CounterMode_Up;
    TIM4_Struct.TIM_Period                 = (10);            //
    TIM4_Struct.TIM_ClockDivision         = TIM_CKD_DIV1;        //
    TIM4_Struct.TIM_RepetitionCounter     = 0;                    // играет роль только в таймерах 1 и 8
    TIM_TimeBaseInit( TIM4 , &TIM4_Struct );
    TIM_ITConfig( TIM4 , TIM_IT_Update , ENABLE );                // EI
    TIM_Cmd( TIM4 , ENABLE );                            //Запуск таймера

// прерывания TIM4
    NVIC_InitTypeDef NVIC_tim4;
    NVIC_tim4.NVIC_IRQChannel = TIM4_IRQn;
    NVIC_tim4.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_tim4.NVIC_IRQChannelSubPriority = 1;
    NVIC_tim4.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_tim4);



Обработчик:

Код
void TIM4_IRQHandler(void)
{
    TIM_ClearITPendingBit(TIM4, TIM_IT_Update);
    GPIOB->ODR ^= GPIO_Pin_8;                            //переворачиваю лапу
}


Больше никаких прерываний не включал

Сообщение отредактировал gena_p1 - Sep 3 2014, 07:12
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- gena_p1   stm32f103 непонятки с таймером   Sep 2 2014, 20:23
- - Golikov A.   ножку настроили на максимальную частоту?   Sep 2 2014, 20:39
- - AHTOXA   Для начала вставьте проверку флага в обработчик пр...   Sep 3 2014, 04:44
|- - adnega   Цитата(AHTOXA @ Sep 3 2014, 08:44) Для на...   Sep 3 2014, 06:38
|- - jcxz   Цитата(adnega @ Sep 3 2014, 12:38) еужели...   Sep 3 2014, 06:54
- - gena_p1   Лапа в порядке, настроена на 50МГц, программка mai...   Sep 3 2014, 06:54
|- - adnega   Цитата(gena_p1 @ Sep 3 2014, 10:54) 10 пе...   Sep 3 2014, 07:07
|- - gena_p1   Цитата(adnega @ Sep 3 2014, 11:07) Его то...   Sep 3 2014, 07:11
- - kostyan   Цитата(gena_p1 @ Sep 3 2014, 02:23) Допус...   Sep 3 2014, 07:29
- - Golikov A.   ЦитатаДергается это все добро, как будто не от ква...   Sep 3 2014, 07:35
- - kostyan   А кстати да, выход шим настроить на меандр совсем ...   Sep 3 2014, 08:29
- - ViKo   Если "фаза пляшет, как хочет" и "см...   Sep 3 2014, 08:53
- - gena_p1   Мы имеем дело с синхронной системой, с кварцевой с...   Sep 3 2014, 09:58
- - Golikov A.   вход в прерывание не 7 тактов, а до 7 тактов. Это ...   Sep 3 2014, 10:31
- - adnega   При 72МГц ядра, 1000Гц частоте прерываний и 7 такт...   Sep 3 2014, 12:43
- - gena_p1   Миссия успешно завершена, спасибо большое. Отдель...   Sep 3 2014, 16:03


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016