16+
Воскресенье
27 мая
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Звероящер  (21.01.2018 01:33 - 21.01.2018 11:12, просмотров: 2060)
Странности с таймером TIM1 STM32. Проблема закрыта, всем спасибо. ЗЫ. У нас -43 утром 
В общем обкурился мануалом до тошноты, а всё равно толку нет. Короче, надо гнать меандр с помощью TIM1 в режиме сравнения. Инициализирую вот так:
    RCC->APB2ENR |= RCC_APB2ENR_TIM1EN;
    TIM1->PSC = 1;
    TIM1->CNT = 0;
    TIM1->ARR = 40000;
    TIM1->CCR1 = 512;
    TIM1->CCMR1 |= (TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_0);
    TIM1->CCER |= (TIM_CCER_CC1P | TIM_CCER_CC1E);
    TIM1->BDTR |= TIM_BDTR_MOE;
    TIM1->EGR |= TIM_EGR_UG;
    TIM1->SR &= ~TIM_SR_UIF;
//    HAL_NVIC_SetPriority(TIM1_CC_IRQn, 0, 0);
//    HAL_NVIC_EnableIRQ(TIM1_CC_IRQn);
//    TIM1->DIER |= TIM_DIER_CC1IE;
    TIM1->CR1 |= TIM_CR1_CEN;
На всякий случай отдельный обработчик прерывания по сравнению
void TIM1_CC_IRQHandler(void)
{
  TIM1->SR = 0;
}
Запускаю, и меандр гонится с частотой переполнения счётчика, когда значение счётчика CNT становится равным ARR. Самое что интересное - флаг по сравнению выставляется, в прерывание попадаю, а нога от этого не шевелится. Только от переполнения счётчика. Чёзахрень?
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII