xxx_LED_SOS_Timer

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /* mbed BuschA,   */ 
00002 #include "mbed.h"
00003 #include "UP_SOS.h"
00004 //Initialisiere Ausgangspin und Variable
00005 InterruptIn TasteS1(PA_1); //PullUp auf Board
00006 
00007 void init_TIM6(void)
00008 {
00009   RCC->APB1ENR |= 0b10000;      //Bit 4 => Takt an Timer geben
00010   TIM6->PSC=31999;              //Takt 1ms  => 32Mhz / 32000 (0-31999) => 1Khz => 1ms
00011   TIM6->ARR=5000;               //Zählregister => 5000 => 5000ms
00012   TIM6->CNT=0;                  //bei 0 beginnen 
00013   TIM6->SR=0;                   //UIF = 0  => Überlaufflag
00014   TIM6->CR1=1;                  //CEN=1 Timer start
00015 }
00016 
00017 
00018 int main()
00019 {
00020 init_TIM6();
00021 
00022     while (true) 
00023     {
00024         if (TIM6->SR!=0) //Überlauf? => Polling => KEIN Timer-IR
00025             {
00026                 TIM6->CR1=0;                  //CEN=0 Timer stopp
00027                 TIM6->SR=0;                   //Flag zurücksetzen
00028                 UP_SOS_kurz();                //Funktionsaufrufe...
00029                 UP_SOS_lang();
00030                 UP_SOS_kurz();
00031                 TIM6->CR1=1;                  //CEN=1 Timer startet wieder für 5sec
00032             }
00033     }
00034 }
00035 
00036