STM32 Interrupt alle 15sec.

OP #3556897
Lesenswert?

Hallo,

wie kann ich bei einem STM32 einen Timer Interrupt erzeugen der alle 
15sec auftaucht?

Ich hab
1
void TIM3_IRQHandler()
2
{
3
  if (TIM3->SR & TIM_SR_UIF) {
4
    TOGGLEPIN(P_LED);
5
  }
6
  TIM3->SR = 0;
7
}
8

9
void timer_init()
10
{
11
  RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;
12
  TIM3->ARR  = 562;
13
  TIM3->DIER = TIM_DIER_UIE;
14
  TIM3->CR1  = TIM_CR1_CEN;
15
  NVIC_EnableIRQ(TIM3_IRQn);
16
}
aber wie stell ich das auf 15sec ein ?
Gast #3556904
Lesenswert?

Es geht auch, wenn der Timer jede Sekunde feuert und du nur jeden 15. 
Aufruf was tust.

Wenn der Timer den Wert "Ticks/Sekunde * Sekunden" erreicht, und zwar 
ohne Überläufe, soll er feuern. Die Ticks/Sekunde kannst du mit dem 
Prescaler einstellen, die Sekunden sind bei dir 15.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren