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

 
 
> 32F407VG disco проблема c NVIC_init / TIM_ITConfig
kerasin
сообщение Nov 16 2016, 10:53
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 16-11-16
Пользователь №: 94 208



День добрый
Я ещё совсем новичок в микроконтроллерах, поэтому даже не очень знаю как правильно задать вопрос по своей проблеме.

Пробую запустить Keil 4.73 вполне дефолтный код обработчика прерывания от таймера

Код
    TIM_TimeBaseInitTypeDef timer_struct;
    NVIC_InitTypeDef NVIC_struct;
        uint32_t flag = 0;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE);

    timer_struct.TIM_Prescaler = 20000 - 1;
    timer_struct.TIM_CounterMode = TIM_CounterMode_Up;
    timer_struct.TIM_Period = 1000;
    timer_struct.TIM_ClockDivision = TIM_CKD_DIV1;
    timer_struct.TIM_RepetitionCounter = 0;
    TIM_TimeBaseInit(TIM5, &timer_struct);
    
    TIM_ITConfig(TIM5, TIM_IT_Update, ENABLE);
    
    TIM_Cmd(TIM5, ENABLE);

    // NVIC init
    NVIC_struct.NVIC_IRQChannel = TIM5_IRQn;
    NVIC_struct.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_struct.NVIC_IRQChannelSubPriority = 1;
    NVIC_struct.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_struct);

    while (1)
    {
            flag++;
        }


Всё компилируется без ошибок, запускается, но ничего не работает.
По брейкпойнтам стало ясно, что проблема либо с действиями NVIC_Init(&NVIC_struct); либо с TIM_ITConfig(TIM5, TIM_IT_Update, ENABLE); Не важно, в каком порядке инициализировать, та строчка, которая будет второй вешает исполнение программы, ощущение, что оно уходит в бесконечный цикл и до while(1) даже не доходит. flag в watch'e на нуле и не растёт

ПРИ ЭТОМ:
Если поставить брейкпойнт в проблемном месте и трейсить пошагово, то всё работает как надо и flag в watch'e растёт.

Подскажите, с чем может быть проблема, куда копать?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:47
Рейтинг@Mail.ru


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