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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.