hui

Dependencies:   mbed

Fork of mbed_L3_Timer by Adrian Renner

Committer:
moritzmahler
Date:
Sat Dec 06 14:46:14 2014 +0000
Revision:
1:a02777ef7e5c
Parent:
0:8a1dbfbe5c66
some major problems . Don't know why.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
addyi 0:8a1dbfbe5c66 1 /**************************************************************************
addyi 0:8a1dbfbe5c66 2 * Name: Stoppuhr
addyi 0:8a1dbfbe5c66 3 * Date :
addyi 0:8a1dbfbe5c66 4 * Author:
addyi 0:8a1dbfbe5c66 5 * Revision List:
addyi 0:8a1dbfbe5c66 6 --------------------------------------------------------------------------
addyi 0:8a1dbfbe5c66 7 Date | Author | Change
addyi 0:8a1dbfbe5c66 8 --------------------------------------------------------------------------
addyi 0:8a1dbfbe5c66 9 | |
addyi 0:8a1dbfbe5c66 10 --------------------------------------------------------------------------
addyi 0:8a1dbfbe5c66 11 **************************************************************************/
addyi 0:8a1dbfbe5c66 12 #include "mbed.h"
addyi 0:8a1dbfbe5c66 13 #include "cdef.h"
addyi 0:8a1dbfbe5c66 14 #include "TextLCD.h"
addyi 0:8a1dbfbe5c66 15
addyi 0:8a1dbfbe5c66 16
addyi 0:8a1dbfbe5c66 17 TextLCD stLcd(p26, p25, p24, p23, p22, p20, p19, TextLCD::LCD20x4); // rs, e, d4-d7
addyi 0:8a1dbfbe5c66 18
addyi 0:8a1dbfbe5c66 19 DigitalOut abLed[] = { /* Ausgabe-LEDs */
addyi 0:8a1dbfbe5c66 20 (LED1), (LED2),(LED3), (LED4)
addyi 0:8a1dbfbe5c66 21 };
addyi 0:8a1dbfbe5c66 22
addyi 0:8a1dbfbe5c66 23 DigitalIn bBtn1(p8);
addyi 0:8a1dbfbe5c66 24 DigitalIn bBtn2(p14);
addyi 0:8a1dbfbe5c66 25
addyi 0:8a1dbfbe5c66 26 int8 i=5;
addyi 0:8a1dbfbe5c66 27
addyi 0:8a1dbfbe5c66 28 int16 bTastTimerLi=0;
addyi 0:8a1dbfbe5c66 29
addyi 0:8a1dbfbe5c66 30 #define nTastLongLi 100
addyi 0:8a1dbfbe5c66 31 #define nTastShortLi 5
addyi 0:8a1dbfbe5c66 32
addyi 0:8a1dbfbe5c66 33 char acZ1t[]="Zeit 1 [sec.] ---.-";
addyi 0:8a1dbfbe5c66 34 char acZ2t[]="Zeit 2 [sec.] ---.-";
addyi 0:8a1dbfbe5c66 35 char acZ3t[]="Zeit 3 [sec.] ---.-";
addyi 0:8a1dbfbe5c66 36 char acZ4t[]="Final [sec.] ---.-";
addyi 0:8a1dbfbe5c66 37
addyi 0:8a1dbfbe5c66 38 char acZ1h[]="Dusche1Dusche Dusche";
addyi 0:8a1dbfbe5c66 39 char acZ2h[]="Dusche2Dusche Dusche";
addyi 0:8a1dbfbe5c66 40 char acZ3h[]="Dusche3Dusche Dusche";
addyi 0:8a1dbfbe5c66 41 char acZ4h[]="Dusche4Dusche Dusche";
addyi 0:8a1dbfbe5c66 42
addyi 0:8a1dbfbe5c66 43 char acDisp[4][20];
addyi 0:8a1dbfbe5c66 44
addyi 0:8a1dbfbe5c66 45 int8 count=0;
addyi 0:8a1dbfbe5c66 46
moritzmahler 1:a02777ef7e5c 47 volatile char bStandby = 0;
addyi 0:8a1dbfbe5c66 48
addyi 0:8a1dbfbe5c66 49 Ticker stSysTick;
addyi 0:8a1dbfbe5c66 50
moritzmahler 1:a02777ef7e5c 51 void vTimer( void ){
moritzmahler 1:a02777ef7e5c 52 abLed[1] = 1;
moritzmahler 1:a02777ef7e5c 53 bStandby = 1;
moritzmahler 1:a02777ef7e5c 54 }
addyi 0:8a1dbfbe5c66 55
addyi 0:8a1dbfbe5c66 56
addyi 0:8a1dbfbe5c66 57 /* Funktion "Taste 1 gedrückt" */
addyi 0:8a1dbfbe5c66 58 void vBtn1Short( void )
addyi 0:8a1dbfbe5c66 59 {
addyi 0:8a1dbfbe5c66 60
addyi 0:8a1dbfbe5c66 61 }
addyi 0:8a1dbfbe5c66 62
addyi 0:8a1dbfbe5c66 63 /* Funktion "Taste 1 lange gedrückt" */
addyi 0:8a1dbfbe5c66 64 void vBtn1Long( void )
addyi 0:8a1dbfbe5c66 65 {
addyi 0:8a1dbfbe5c66 66
addyi 0:8a1dbfbe5c66 67 }
addyi 0:8a1dbfbe5c66 68
addyi 0:8a1dbfbe5c66 69 /* Funktion "Taste 1 losgelassen" */
addyi 0:8a1dbfbe5c66 70 void vBtn1Free( void )
addyi 0:8a1dbfbe5c66 71 {
addyi 0:8a1dbfbe5c66 72
addyi 0:8a1dbfbe5c66 73 }
addyi 0:8a1dbfbe5c66 74
addyi 0:8a1dbfbe5c66 75 void vDispReset(void)
addyi 0:8a1dbfbe5c66 76 {
addyi 0:8a1dbfbe5c66 77 for(int y=0; y<sizeof(acZ1t); y++) {
addyi 0:8a1dbfbe5c66 78 acDisp[0][y]=acZ1t[y];
addyi 0:8a1dbfbe5c66 79 acDisp[1][y]=acZ2t[y];
addyi 0:8a1dbfbe5c66 80 acDisp[2][y]=acZ3t[y];
addyi 0:8a1dbfbe5c66 81 acDisp[3][y]=acZ4t[y];
addyi 0:8a1dbfbe5c66 82 }
addyi 0:8a1dbfbe5c66 83 }
addyi 0:8a1dbfbe5c66 84
addyi 0:8a1dbfbe5c66 85
addyi 0:8a1dbfbe5c66 86 /*******************************************
addyi 0:8a1dbfbe5c66 87 * APP1 - Taste 1 abfragen
addyi 0:8a1dbfbe5c66 88 *******************************************/
addyi 0:8a1dbfbe5c66 89 void vTaste1( void )
addyi 0:8a1dbfbe5c66 90 {
addyi 0:8a1dbfbe5c66 91 if(bBtn1 == 0) {
addyi 0:8a1dbfbe5c66 92 if(bTastTimerLi < (nTastLongLi+1)) {
addyi 0:8a1dbfbe5c66 93 if(bTastTimerLi == nTastShortLi) {
addyi 0:8a1dbfbe5c66 94 vBtn1Short();
addyi 0:8a1dbfbe5c66 95 }
addyi 0:8a1dbfbe5c66 96 if(bTastTimerLi == nTastLongLi) {
addyi 0:8a1dbfbe5c66 97 vBtn1Long();
addyi 0:8a1dbfbe5c66 98 }
addyi 0:8a1dbfbe5c66 99 bTastTimerLi++;
addyi 0:8a1dbfbe5c66 100 }
addyi 0:8a1dbfbe5c66 101 } else {
addyi 0:8a1dbfbe5c66 102 if(bTastTimerLi >= nTastLongLi) {
addyi 0:8a1dbfbe5c66 103 vBtn1Free();
addyi 0:8a1dbfbe5c66 104 }
addyi 0:8a1dbfbe5c66 105 bTastTimerLi = 0;
addyi 0:8a1dbfbe5c66 106 }
addyi 0:8a1dbfbe5c66 107 }
addyi 0:8a1dbfbe5c66 108
addyi 0:8a1dbfbe5c66 109 /*******************************************
addyi 0:8a1dbfbe5c66 110 * APP2 - Taste 2 abfragen
addyi 0:8a1dbfbe5c66 111 *******************************************/
addyi 0:8a1dbfbe5c66 112 void vTaste2( void )
addyi 0:8a1dbfbe5c66 113 {
addyi 0:8a1dbfbe5c66 114
moritzmahler 1:a02777ef7e5c 115 if(count==nTastLongLi) {
moritzmahler 1:a02777ef7e5c 116 abLed[0]=!abLed[0];
moritzmahler 1:a02777ef7e5c 117 count=0;
moritzmahler 1:a02777ef7e5c 118 } else {
moritzmahler 1:a02777ef7e5c 119 count++;
moritzmahler 1:a02777ef7e5c 120 }
addyi 0:8a1dbfbe5c66 121
addyi 0:8a1dbfbe5c66 122
addyi 0:8a1dbfbe5c66 123 }
addyi 0:8a1dbfbe5c66 124
addyi 0:8a1dbfbe5c66 125
addyi 0:8a1dbfbe5c66 126 /*******************************************
addyi 0:8a1dbfbe5c66 127 * APP3 - LCD-Ausgabe
addyi 0:8a1dbfbe5c66 128 *******************************************/
addyi 0:8a1dbfbe5c66 129 void vLcdOut( void )
addyi 0:8a1dbfbe5c66 130 {
addyi 0:8a1dbfbe5c66 131 for(int x=0; x<sizeof(acDisp); x++) {
addyi 0:8a1dbfbe5c66 132 for(int y=0; y<sizeof(acDisp[x]); y++) {
addyi 0:8a1dbfbe5c66 133 stLcd.locate(y,x);
addyi 0:8a1dbfbe5c66 134 stLcd.putc(acDisp[x][y]);
addyi 0:8a1dbfbe5c66 135 }
addyi 0:8a1dbfbe5c66 136 }
addyi 0:8a1dbfbe5c66 137 }
addyi 0:8a1dbfbe5c66 138
addyi 0:8a1dbfbe5c66 139
addyi 0:8a1dbfbe5c66 140 /* Hauptprogramm */
addyi 0:8a1dbfbe5c66 141 int main()
addyi 0:8a1dbfbe5c66 142 {
moritzmahler 1:a02777ef7e5c 143 stSysTick.attach(&vTimer, 0.02);
moritzmahler 1:a02777ef7e5c 144 bStandby=0;
addyi 0:8a1dbfbe5c66 145 vDispReset();
moritzmahler 1:a02777ef7e5c 146
addyi 0:8a1dbfbe5c66 147
addyi 0:8a1dbfbe5c66 148 while(1) {
moritzmahler 1:a02777ef7e5c 149
addyi 0:8a1dbfbe5c66 150 // wait until bStandby !=0
moritzmahler 1:a02777ef7e5c 151 while(bStandby == 0){
moritzmahler 1:a02777ef7e5c 152 abLed[0] = 1;
addyi 0:8a1dbfbe5c66 153 }
addyi 0:8a1dbfbe5c66 154 bStandby = 0;
moritzmahler 1:a02777ef7e5c 155 abLed[2] = 1;
moritzmahler 1:a02777ef7e5c 156 // vTaste1();
moritzmahler 1:a02777ef7e5c 157 // vTaste2();
addyi 0:8a1dbfbe5c66 158 i--;
addyi 0:8a1dbfbe5c66 159 if(i == 0) {
addyi 0:8a1dbfbe5c66 160 i = 5;
moritzmahler 1:a02777ef7e5c 161
moritzmahler 1:a02777ef7e5c 162 // vLcdOut();
moritzmahler 1:a02777ef7e5c 163
addyi 0:8a1dbfbe5c66 164 }
addyi 0:8a1dbfbe5c66 165 }
addyi 0:8a1dbfbe5c66 166 }
addyi 0:8a1dbfbe5c66 167