A LCD Program

Dependencies:   TextLCD mbed Interruptpins

Committer:
wehner334
Date:
Wed Feb 17 11:28:57 2016 +0000
Revision:
2:9693c1f2a4f2
Parent:
1:cb6c5c9f5d2f
Child:
3:119ffed38b29
a lcd Program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wehner334 0:f0bce7801e75 1 #include "mbed.h"
wehner334 0:f0bce7801e75 2 #include "TextLCD.h"
wehner334 2:9693c1f2a4f2 3 TextLCD lcd(D2, D3, D4, D5, D6, D7, TextLCD::LCD8x2 );
wehner334 2:9693c1f2a4f2 4 Serial pc(SERIAL_TX, SERIAL_RX);
wehner334 0:f0bce7801e75 5 DigitalOut myled(D10);
wehner334 2:9693c1f2a4f2 6 AnalogIn aout(A3);
wehner334 2:9693c1f2a4f2 7 InterruptIn mybuttonone(PA_0);
wehner334 1:cb6c5c9f5d2f 8 InterruptIn mybuttontwo(PA_1);
wehner334 2:9693c1f2a4f2 9 Timer Timerone;
wehner334 0:f0bce7801e75 10 DigitalOut mynewled(A2);
wehner334 2:9693c1f2a4f2 11 volatile long entprellZeit=250, alteZeitOne=0,alteZeitTwo=0;
wehner334 2:9693c1f2a4f2 12 volatile int counterOne=0, counterTwo=0;
wehner334 1:cb6c5c9f5d2f 13 void pressedone()
wehner334 2:9693c1f2a4f2 14 {if((Timerone.read_ms()-alteZeitOne)>entprellZeit)
wehner334 2:9693c1f2a4f2 15 {alteZeitOne=Timerone.read_ms();
wehner334 2:9693c1f2a4f2 16 lcd.cls();
wehner334 2:9693c1f2a4f2 17 lcd.locate(0,0);
wehner334 2:9693c1f2a4f2 18 counterOne++;
wehner334 2:9693c1f2a4f2 19 if (pc.writeable())
wehner334 2:9693c1f2a4f2 20 {
wehner334 2:9693c1f2a4f2 21 pc.printf("Counterone: %i alteZeitOne %i \n",counterOne, alteZeitOne);
wehner334 2:9693c1f2a4f2 22
wehner334 0:f0bce7801e75 23 //delay=buffer[movingVar];
wehner334 2:9693c1f2a4f2 24 }
wehner334 1:cb6c5c9f5d2f 25 lcd.printf("Button 1\n");
wehner334 1:cb6c5c9f5d2f 26 }
wehner334 1:cb6c5c9f5d2f 27
wehner334 1:cb6c5c9f5d2f 28 }
wehner334 1:cb6c5c9f5d2f 29
wehner334 1:cb6c5c9f5d2f 30 void pressedtwo()
wehner334 2:9693c1f2a4f2 31 {if((Timerone.read_ms()-alteZeitTwo)>entprellZeit)
wehner334 2:9693c1f2a4f2 32 {alteZeitTwo=Timerone.read_ms();
wehner334 2:9693c1f2a4f2 33 lcd.cls();
wehner334 2:9693c1f2a4f2 34 lcd.locate(0,0);
wehner334 1:cb6c5c9f5d2f 35 //delay=buffer[movingVar];
wehner334 1:cb6c5c9f5d2f 36 lcd.printf("Button 2\n");
wehner334 2:9693c1f2a4f2 37 counterTwo++;
wehner334 2:9693c1f2a4f2 38 if (pc.writeable())
wehner334 2:9693c1f2a4f2 39 {
wehner334 2:9693c1f2a4f2 40 pc.printf("Countertwo: %i AlteZeitTwo %i \n",counterTwo, alteZeitTwo);
wehner334 2:9693c1f2a4f2 41 }
wehner334 0:f0bce7801e75 42 }
wehner334 2:9693c1f2a4f2 43 //wait(1);
wehner334 2:9693c1f2a4f2 44 //lcd.cls();
wehner334 2:9693c1f2a4f2 45 /* movingVar++;
wehner334 2:9693c1f2a4f2 46 if(movingVar==5) {
wehner334 2:9693c1f2a4f2 47 movingVar=0;
wehner334 2:9693c1f2a4f2 48 }
wehner334 2:9693c1f2a4f2 49 */
wehner334 0:f0bce7801e75 50
wehner334 0:f0bce7801e75 51 }
wehner334 0:f0bce7801e75 52
wehner334 2:9693c1f2a4f2 53 int main()
wehner334 2:9693c1f2a4f2 54 {
wehner334 2:9693c1f2a4f2 55 mybuttonone.fall(&pressedone);
wehner334 2:9693c1f2a4f2 56 mybuttonone.mode(PullUp);
wehner334 2:9693c1f2a4f2 57 Timerone.start();
wehner334 2:9693c1f2a4f2 58 mybuttontwo.fall(&pressedtwo);
wehner334 2:9693c1f2a4f2 59 mybuttontwo.mode(PullUp);
wehner334 2:9693c1f2a4f2 60 lcd.printf("Hello World!\n");
wehner334 2:9693c1f2a4f2 61 wait(1);
wehner334 2:9693c1f2a4f2 62 lcd.cls();
wehner334 2:9693c1f2a4f2 63 mynewled=true;
wehner334 0:f0bce7801e75 64 while(1) {
wehner334 2:9693c1f2a4f2 65 if(Timerone.read()>1583180)
wehner334 2:9693c1f2a4f2 66 {Timerone.reset();
wehner334 2:9693c1f2a4f2 67 alteZeitOne=0;
wehner334 2:9693c1f2a4f2 68 alteZeitTwo=0;}
wehner334 2:9693c1f2a4f2 69 if(aout.read()<0.5f) {
wehner334 2:9693c1f2a4f2 70 myled = !myled;
wehner334 2:9693c1f2a4f2 71 }
wehner334 2:9693c1f2a4f2 72 lcd.cls();
wehner334 2:9693c1f2a4f2 73 //lcd.printf("new");
wehner334 0:f0bce7801e75 74 lcd.locate(0,1);
wehner334 0:f0bce7801e75 75 lcd.printf("ana=%1.2f", aout.read() * 3.3f);
wehner334 2:9693c1f2a4f2 76
wehner334 2:9693c1f2a4f2 77
wehner334 2:9693c1f2a4f2 78 wait(0.5);
wehner334 0:f0bce7801e75 79 }
wehner334 0:f0bce7801e75 80 }