void Setup()
	{
		RCC->APB1ENR |= RCC_APB1ENR_TIM14EN;
		TIM14->PSC = 48-1; //Counts up in microseconds
		TIM14->ARR = 65535;
		TIM14->CNT = 0;
		TIM14->CR1 = 1;
		TIM14->DIER = TIM_DIER_CC2IE | TIM_DIER_UIE;
    
    
		NVIC_InitStructure.NVIC_IRQChannel = TIM14_IRQn;
		NVIC_InitStructure.NVIC_IRQChannelPriority = 0x03; //High priority.
		NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
		NVIC_Init(&NVIC_InitStructure);
	}
	void TIM14_IRQHandler(void)
	{
		if( TIM14->SR & TIM_SR_CC1IF )
		{
			TIM14->SR &= ~TIM_SR_CC1IF;
			tim14counterA++; //Compare match
		}
		if( TIM14->SR & TIM_SR_UIF )
		{
			TIM14->SR &= ~TIM_SR_UIF;
			tim14counterB++;	//Overflow match
		}
	}
          Last active
          April 7, 2021 03:36 
        
      - 
      
- 
        Save cnlohr/0d9d5cee7d25c930c234caa17ca24640 to your computer and use it in GitHub Desktop. 
    Using Timer 14 on the STM32F042
  
        
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment