Esempio n. 1
0
void EventInit(void)
{
  /* Switch interrupt soource to PB. PA no need change - it default */
  SYSCFG->EXTICR[0] = SYSCFG_EXTICR1_EXTI1_PB; // PB1
//  SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI6_PB|SYSCFG_EXTICR2_EXTI7_PB;
//  SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI8_PB;
   
  NVIC_EnableIRQ(TIM_IRQ(TIMER_NUM,_IRQn)); /* Timer IRQ */

  /* External input IRQ */
//  NVIC_EnableIRQ(EXTI15_10_IRQn);
//  NVIC_SetPriority(EXTI15_10_IRQn, 14); /* Low priority */
  NVIC_EnableIRQ(EXTI0_1_IRQn);
  NVIC_SetPriority(EXTI0_1_IRQn, 14); /* Low priority */
  NVIC_EnableIRQ(EXTI4_15_IRQn);
  NVIC_SetPriority(EXTI4_15_IRQn, 14); /* Low priority */
//  NVIC_EnableIRQ(EXTI0_IRQn);
//  NVIC_SetPriority(EXTI0_IRQn, 14); /* Low priority */
//  NVIC_EnableIRQ(EXTI1_IRQn);
//  NVIC_SetPriority(EXTI1_IRQn, 14); /* Low priority */
//  NVIC_EnableIRQ(EXTI2_IRQn);
//  NVIC_SetPriority(EXTI2_IRQn, 14); /* Low priority */

  /* Check interval */
  TIM_EVENT->DIER |= TIM_DIER_UIE; /* enable update IRQ */
  TIM_EVENT->PSC = MAIN_F/1000000 - 1; /* 1 MHz  after prescaler*/
  TIM_EVENT->ARR = 5000-1; /* 1MHz / 5000 = 200Hz  - 5mSec */
//  TIM_EVENT->CR1 |= TIM_CR1_CEN;    /* It should not be started */ 

  EXTI->IMR |= KEY_MASK_SYS; /* Ext interrupt mask */
  EXTI->FTSR |= KEY_MASK_SYS; /* failing trigger */
  EXTI->PR |= KEY_MASK_SYS; /* Clear pending register */
}
Esempio n. 2
0
void _timFree_timer(uint8_t tm) {
    rcc_disable_tim(tm);
    vhalIrqDisable(TIM_IRQ(tm));
    if (TIM(tm) == TIM1) {
        vhalIrqDisable(TIM1_CC_IRQn);
    } /*else if (TIM(tm)==TIM8){
    vhalIrqDisable(TIM8_CC_IRQn);
  }*/
    TIMER_SET_STATUS(tm, TIM_STATUS_USABLE);
}