Robert Buch / 5_Interrupt_and_timer
Revision:
0:af7895afc78f
diff -r 000000000000 -r af7895afc78f 7_timer_interrupt_timeout_ticker_beispiel.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/7_timer_interrupt_timeout_ticker_beispiel.cpp	Sun Jan 12 22:46:26 2020 +0000
@@ -0,0 +1,82 @@
+/*
+//(Beispielhaft)Beschreiben Sie obiges Programm möglichst genau. 
+
+
+//led1 wird leuchten jede sekunde - ausgelöst durch den ticker
+//led2 wird leuchten sobald die vorgegeben zeit, hier 2.5 sekunden abgelaufen ist.
+//led3 wird leuchten wenn button1 aktiviert wird
+
+//timer misst die Zeit zwischen start und stop.
+Als Timer oder auch Counter bezeichnet man bei Mikrocontrollern einen auf dem Chip 
+integriertes Funktionsmodul, welcher beim Zählen von Ereignissen, Messen von Zeitabständen 
+und periodischen Ausführen von Programmteilen eine wichtige Hilfe darstellt. 
+Möchte man zum Beispiel eine Uhr realisieren, dann konfiguriert man den Timer so, 
+dass z.B. exakt 100 mal pro Sekunde ein Interrupt ausgelöst wird. 
+In der Interruptroutine kann man dann eine Variable hochzählen und nach 100 Interrupts 
+die Zeitanzeige aktualisieren. timer funktioniert bis 30 minuten.
+
+
+    Ticker: LED1 will blink every second
+    InterruptIn: LED2 can be toggled through BUTTON1
+    Timeout: LED3 will toggle after 2.5 seconds 
+    
+*/
+
+
+#include "mbed.h"
+
+
+//BusOut leds(D0,D3,D6,D9,D11,D12,A1,A5);
+
+
+DigitalOut led1(D0);
+DigitalOut led2(D3);
+DigitalOut led3(A1);
+DigitalOut led4(A5);
+
+
+Ticker t1;
+Timeout t2;
+Timer t3;
+InterruptIn button1(A0);
+
+void ticker_t1();
+void timeout_t2();
+void isr();
+
+int main()
+{
+
+    t3.start();
+    t1.attach(callback(&ticker_t1),1.0f);
+    t2.attach(callback(&timeout_t2),2.5f);
+    button1.fall(callback(&isr)); 
+        
+    t3.stop();
+    printf("Zeit: %f\n",t3.read()); 
+    t3.reset();
+    while(1)
+    {
+           
+     }   
+
+}
+
+void isr()
+{
+    led2=!led2;
+}
+
+
+void timeout_t2()
+{
+        led3=!led3;
+}
+
+
+void ticker_t1()
+{
+   
+    led1=!led1;
+        
+}