This is an old revision of the document!


Basic Timer




The code snippet bellow shows how to configure and use a GPIO pin as input.

#include "reg_stm32f4xx.h"
 
RCC->APB1ENR |= (0x1 << 0u);          /* Enable TIM2 clock. */
 
/* configure timer */
TIM2->PSC = 84000 - 1;                /* Counting with f = 84MHz / 84000 = 1MHz */
TIM2->ARR = 200;                      /* Count to 200 */
 
TIM2->CR1 |= (0x1 << 0u);             /* Start timer */


Hardware Abstraction Layer
Registry Types
InES Timer HAL Interface


Configuration register 1




DIR*0Counter used as upcounter (reset state)
1Counter used as downcounter
OPM0Counter is not stopped at update event (reset state)
1Counter stops at the next update event
CEN0Counter disabled (reset state)
1Counter enabled

*This bit is readonly in center-aligned or encoder mode

DMA / Interrupt enable register




UDE0Update DMA request disabled (reset state)
1Update DMA request enabled
UIE0Update interrupt disabled (reset state)
1Update interrupt enabled

Slave mode control register




SMS000Slave mode disabled (reset state)100Reset mode
001Encoder mode 1101Gated mode
010Encoder mode 2110Trigger mode
011Encoder mode 3111External clock mode 1
ECE0External clock mode 2 disabled (reset state)
1External clock mode 2 enabled. Clock enabled by any active edge on ETRF

Prescaler register




Auto reload register




Count register







  • stm32/peripherals/timer_base.1467112644.txt.gz
  • Last modified: 2016/06/28 11:17
  • by feur