Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
systemtickuml [2017/03/17 17:50] – huwaldt | systemtickuml [2019/07/25 21:42] (aktuell) – [Realisierung] huwi | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
Diese Übung wird wiederum eine einfache Verwendung der // | Diese Übung wird wiederum eine einfache Verwendung der // | ||
- | >>> | + | > |
Die vier LEDs auf dem STM32F4 Discovery sind immer noch fest mit den Pins D12 bis D15 verbunden. Der SystemTick soll so konfiguriert werden, dass dieses Ereignis alle 10 Millisekunden eintritt. Die Takt-Versorgung des GPIO Ports D erfolgt, wie wir wissen, über AHB1. Fassen wir die Aufgaben zusammen: | Die vier LEDs auf dem STM32F4 Discovery sind immer noch fest mit den Pins D12 bis D15 verbunden. Der SystemTick soll so konfiguriert werden, dass dieses Ereignis alle 10 Millisekunden eintritt. Die Takt-Versorgung des GPIO Ports D erfolgt, wie wir wissen, über AHB1. Fassen wir die Aufgaben zusammen: | ||
Zeile 21: | Zeile 21: | ||
Die Aufgabe besteht darin die vier Led's anzusteuern. Folgen wir der objektorientierten Sichtweise sind die rote, blaue, grüne und orange LED Objekte und können über eine Klasse mit dem Namen //Led// abstrahiert werden. Die Klasse //Led// soll die spezifischen Merkmale (Struktur und Verhalten) von typischen LEDs auf der Anwenderebene abstrahieren. Also fragen wir uns was die vier LEDs denn aus Anwendersicht so tun sollen. Diese können an oder aus sein, sie können ihren Zustand wechseln, also umschalten. Tun die LEDs das zyklisch, blinken sie. | Die Aufgabe besteht darin die vier Led's anzusteuern. Folgen wir der objektorientierten Sichtweise sind die rote, blaue, grüne und orange LED Objekte und können über eine Klasse mit dem Namen //Led// abstrahiert werden. Die Klasse //Led// soll die spezifischen Merkmale (Struktur und Verhalten) von typischen LEDs auf der Anwenderebene abstrahieren. Also fragen wir uns was die vier LEDs denn aus Anwendersicht so tun sollen. Diese können an oder aus sein, sie können ihren Zustand wechseln, also umschalten. Tun die LEDs das zyklisch, blinken sie. | ||
- | >>> | + | > |
Schauen wir uns noch mal kurz die Systemarchitektur des Framework an. Unsere Klasse // | Schauen wir uns noch mal kurz die Systemarchitektur des Framework an. Unsere Klasse // | ||
Zeile 29: | Zeile 29: | ||
Die Klasse // | Die Klasse // | ||
- | >>> | + | > |
Der SysTick wird demzufolge an den PecAppKernel und alle PecAppModule verteilt. Dabei werden aus dem SysTick-Ereignis die Ereignisse für 10 Millisekunden, | Der SysTick wird demzufolge an den PecAppKernel und alle PecAppModule verteilt. Dabei werden aus dem SysTick-Ereignis die Ereignisse für 10 Millisekunden, | ||
Zeile 43: | Zeile 43: | ||
Wenn wir die Led hereingezogen haben verbinden wir diese mit der Anwendung. Ziehen Sie von hier aus per Drag& | Wenn wir die Led hereingezogen haben verbinden wir diese mit der Anwendung. Ziehen Sie von hier aus per Drag& | ||
- | >>> | + | > |
Zeile 53: | Zeile 53: | ||
- Bestätigen Sie Ihre Auswahl. | - Bestätigen Sie Ihre Auswahl. | ||
- | >> | + | > |
Zeile 59: | Zeile 59: | ||
- | >>> | + | > |
===== Realisierung ===== | ===== Realisierung ===== | ||
Zeile 65: | Zeile 65: | ||
**Controller:: | **Controller:: | ||
- | >>>< | + | >< |
led[0].config(GPIOD, | led[0].config(GPIOD, | ||
led[1].config(GPIOD, | led[1].config(GPIOD, | ||
Zeile 79: | Zeile 79: | ||
**Controller:: | **Controller:: | ||
- | >>>< | + | >< |
led[0].on(); | led[0].on(); | ||
waitMs(100); | waitMs(100); | ||
Zeile 93: | Zeile 93: | ||
**Controller:: | **Controller:: | ||
- | >>>< | + | >< |
led[1].toggle(); | led[1].toggle(); | ||
</ | </ | ||
Zeile 100: | Zeile 100: | ||
**Controller:: | **Controller:: | ||
- | >>>< | + | >< |
led[2].toggle(); | led[2].toggle(); | ||
</ | </ | ||
Zeile 107: | Zeile 107: | ||
**Controller:: | **Controller:: | ||
- | >>>< | + | >< |
led[3].toggle(); | led[3].toggle(); | ||
</ | </ | ||
Zeile 133: | Zeile 133: | ||
Und hier diesen Abschnitt wiederum als Videozusammenfassung. | Und hier diesen Abschnitt wiederum als Videozusammenfassung. | ||
- | >>>< | + | >< |
====== Übung ====== | ====== Übung ====== |