
Programm zur Darstellung der Lage eines Objektes im Raum mit Hilfe eines Beschleunigungssensores, 4 LED's und einem LCD-Display.
main.cpp@20:094cdb790dcb, 2016-07-29 (annotated)
- Committer:
- Schreeker
- Date:
- Fri Jul 29 14:58:49 2016 +0000
- Revision:
- 20:094cdb790dcb
- Parent:
- 19:51747c0ab062
Anpassung an Programmierrichtlinie Dokument, sowie letzte Kontrolle und Funktionstest. Alles Ok! Codestatus endg?ltig! Simon Rutzen
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Schreeker | 0:2a6b63a19ae5 | 1 | /********************************************************************************** |
Schreeker | 0:2a6b63a19ae5 | 2 | * File name: main.cpp |
Schreeker | 0:2a6b63a19ae5 | 3 | * Zweck: Beinhaltet das Hauptprogramm. Es werden zyklisch die Daten des Be- |
Schreeker | 20:094cdb790dcb | 4 | schleunigungssensores ausgelesen, umgerechnet in Winkel, die LED's |
Schreeker | 20:094cdb790dcb | 5 | auf Basis der X-,Y- und Z-Winkel angesteuert und die Winkel auf dem |
Schreeker | 20:094cdb790dcb | 6 | LCD-Display angezeigt oder die Überkopflage angezeigt. |
Schreeker | 20:094cdb790dcb | 7 | |
Schreeker | 20:094cdb790dcb | 8 | !Hinweis: Es wird die Ungarische Notation verwendet! |
Schreeker | 20:094cdb790dcb | 9 | |
Schreeker | 0:2a6b63a19ae5 | 10 | * Author: Simon Rutzen, Nils Kemmer |
Schreeker | 20:094cdb790dcb | 11 | * Changes: |
Schreeker | 20:094cdb790dcb | 12 | 19.05.16 Erstellung und Einbinden von mbed.h, cdef.h und LCD.h |
Schreeker | 20:094cdb790dcb | 13 | 23.05.16 Sensor.h + deren Funktionen eingefügt in Hauptprogramm (auch von LCD.h) |
Schreeker | 20:094cdb790dcb | 14 | 24.05.16 Ablauf des Hauptprogrammes geplant und Kommentar verfasst |
Schreeker | 20:094cdb790dcb | 15 | 25.05.16 Funktion wait aus mbed.h eingefügt wegen LCD-Anzeige |
Schreeker | 20:094cdb790dcb | 16 | 27.05.16 Kommentierung des Funktionablaufes |
Schreeker | 20:094cdb790dcb | 17 | 28.05.16 Erweiterung mit Debug-Funktionen von LCD.h und Sensor.h |
Schreeker | 20:094cdb790dcb | 18 | 28.06.16 Funktion initLED eingefügt |
Schreeker | 20:094cdb790dcb | 19 | 30.06.16 Funktion initLCD eingefügt |
Schreeker | 20:094cdb790dcb | 20 | 29.07.16 Anpassung an Programmierrichtlinie-Dokument und letzte endgültige |
Schreeker | 20:094cdb790dcb | 21 | Kontrolle Simon Rutzen |
Schreeker | 0:2a6b63a19ae5 | 22 | ***********************************************************************************/ |
Schreeker | 0:2a6b63a19ae5 | 23 | |
Schreeker | 0:2a6b63a19ae5 | 24 | /* Includes */ |
Schreeker | 0:2a6b63a19ae5 | 25 | #include "mbed.h" |
Schreeker | 0:2a6b63a19ae5 | 26 | #include "LCD.h" |
Schreeker | 0:2a6b63a19ae5 | 27 | #include "cdef.h" |
NilsKemmer | 2:cf8b98404b66 | 28 | #include "Sensor.h" |
Schreeker | 12:7c9c5a541380 | 29 | #include "LED.h" |
NilsKemmer | 2:cf8b98404b66 | 30 | |
Schreeker | 20:094cdb790dcb | 31 | /*Structs aus Sensor.cpp bzw. Sensor.h*/ |
Schreeker | 20:094cdb790dcb | 32 | extern struct stWinkelData stWinkelData; |
Schreeker | 20:094cdb790dcb | 33 | extern struct stSensData stSensData; |
Schreeker | 0:2a6b63a19ae5 | 34 | |
Schreeker | 0:2a6b63a19ae5 | 35 | /* Hauptprogramm */ |
Schreeker | 0:2a6b63a19ae5 | 36 | int main(){ |
Schreeker | 15:462c8c89fe35 | 37 | /* Variabeln */ |
Schreeker | 15:462c8c89fe35 | 38 | byte bStateLCD = 0; |
Schreeker | 15:462c8c89fe35 | 39 | |
Schreeker | 14:2543a798b4a1 | 40 | /* Initialisierung (LCD Anzeige + Blinkende LED's */ |
Schreeker | 20:094cdb790dcb | 41 | LCD_vinitLCD(); |
Schreeker | 20:094cdb790dcb | 42 | LED_vinitLED(); |
Schreeker | 12:7c9c5a541380 | 43 | |
Schreeker | 0:2a6b63a19ae5 | 44 | while(1){ |
Schreeker | 7:882edb5f9466 | 45 | /* Auslesen des Beschleunigungssensores */ |
Schreeker | 20:094cdb790dcb | 46 | Sensor_vgetSensData(&stSensData); |
Schreeker | 11:5861bc23022a | 47 | |
Schreeker | 11:5861bc23022a | 48 | /* Berechnung der Spannungswerte aus den Messdaten für Debugzwecke */ |
Schreeker | 20:094cdb790dcb | 49 | //Sensor_vDebugData(&stSensData, &stWinkelData); |
Schreeker | 11:5861bc23022a | 50 | |
Schreeker | 7:882edb5f9466 | 51 | /* Berechnung der Winkel aus Messdaten */ |
Schreeker | 20:094cdb790dcb | 52 | Sensor_vcalcData(&stSensData, &stWinkelData); |
Schreeker | 11:5861bc23022a | 53 | |
Schreeker | 7:882edb5f9466 | 54 | /* Einstellen der LED's*/ |
Schreeker | 20:094cdb790dcb | 55 | bStateLCD = LED_bsetLED(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ); |
Schreeker | 11:5861bc23022a | 56 | |
Schreeker | 7:882edb5f9466 | 57 | /* Einstellen des LCD-Displays*/ |
Schreeker | 20:094cdb790dcb | 58 | LCD_vLCDSet(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, bStateLCD); |
Schreeker | 20:094cdb790dcb | 59 | //LCD_vLCDDebug(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ); |
Schreeker | 11:5861bc23022a | 60 | /* Pause */ |
Schreeker | 19:51747c0ab062 | 61 | wait_ms(100); |
Schreeker | 0:2a6b63a19ae5 | 62 | } |
Schreeker | 0:2a6b63a19ae5 | 63 | return 0; |
Schreeker | 0:2a6b63a19ae5 | 64 | } |