A LCD Program
Dependencies: TextLCD mbed Interruptpins
main.cpp@3:119ffed38b29, 2016-03-02 (annotated)
- Committer:
- wehner334
- Date:
- Wed Mar 02 15:37:47 2016 +0000
- Revision:
- 3:119ffed38b29
- Parent:
- 2:9693c1f2a4f2
harder, better, faster, stronger;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wehner334 | 0:f0bce7801e75 | 1 | #include "mbed.h" |
wehner334 | 0:f0bce7801e75 | 2 | #include "TextLCD.h" |
wehner334 | 3:119ffed38b29 | 3 | #include "Interruptpins.h" |
wehner334 | 2:9693c1f2a4f2 | 4 | TextLCD lcd(D2, D3, D4, D5, D6, D7, TextLCD::LCD8x2 ); |
wehner334 | 2:9693c1f2a4f2 | 5 | Serial pc(SERIAL_TX, SERIAL_RX); |
wehner334 | 0:f0bce7801e75 | 6 | DigitalOut myled(D10); |
wehner334 | 2:9693c1f2a4f2 | 7 | AnalogIn aout(A3); |
wehner334 | 2:9693c1f2a4f2 | 8 | InterruptIn mybuttonone(PA_0); |
wehner334 | 1:cb6c5c9f5d2f | 9 | InterruptIn mybuttontwo(PA_1); |
wehner334 | 2:9693c1f2a4f2 | 10 | Timer Timerone; |
wehner334 | 0:f0bce7801e75 | 11 | DigitalOut mynewled(A2); |
wehner334 | 3:119ffed38b29 | 12 | volatile long entprellZeit=250, alteZeitOne=0,alteZeitTwo=0,alteZeit=0; |
wehner334 | 2:9693c1f2a4f2 | 13 | volatile int counterOne=0, counterTwo=0; |
wehner334 | 1:cb6c5c9f5d2f | 14 | void pressedone() |
wehner334 | 2:9693c1f2a4f2 | 15 | {if((Timerone.read_ms()-alteZeitOne)>entprellZeit) |
wehner334 | 2:9693c1f2a4f2 | 16 | {alteZeitOne=Timerone.read_ms(); |
wehner334 | 3:119ffed38b29 | 17 | lcd.locate(0,0); |
wehner334 | 3:119ffed38b29 | 18 | lcd.printf(" "); |
wehner334 | 3:119ffed38b29 | 19 | |
wehner334 | 2:9693c1f2a4f2 | 20 | lcd.locate(0,0); |
wehner334 | 2:9693c1f2a4f2 | 21 | counterOne++; |
wehner334 | 2:9693c1f2a4f2 | 22 | if (pc.writeable()) |
wehner334 | 2:9693c1f2a4f2 | 23 | { |
wehner334 | 3:119ffed38b29 | 24 | pc.printf("1,%i, %i \n",counterOne, alteZeitOne); |
wehner334 | 2:9693c1f2a4f2 | 25 | |
wehner334 | 0:f0bce7801e75 | 26 | //delay=buffer[movingVar]; |
wehner334 | 2:9693c1f2a4f2 | 27 | } |
wehner334 | 1:cb6c5c9f5d2f | 28 | lcd.printf("Button 1\n"); |
wehner334 | 1:cb6c5c9f5d2f | 29 | } |
wehner334 | 1:cb6c5c9f5d2f | 30 | |
wehner334 | 1:cb6c5c9f5d2f | 31 | } |
wehner334 | 1:cb6c5c9f5d2f | 32 | |
wehner334 | 1:cb6c5c9f5d2f | 33 | void pressedtwo() |
wehner334 | 2:9693c1f2a4f2 | 34 | {if((Timerone.read_ms()-alteZeitTwo)>entprellZeit) |
wehner334 | 2:9693c1f2a4f2 | 35 | {alteZeitTwo=Timerone.read_ms(); |
wehner334 | 3:119ffed38b29 | 36 | lcd.locate(0,0); |
wehner334 | 3:119ffed38b29 | 37 | lcd.printf(" "); |
wehner334 | 3:119ffed38b29 | 38 | //lcd.printf("new"); |
wehner334 | 3:119ffed38b29 | 39 | |
wehner334 | 2:9693c1f2a4f2 | 40 | lcd.locate(0,0); |
wehner334 | 1:cb6c5c9f5d2f | 41 | //delay=buffer[movingVar]; |
wehner334 | 1:cb6c5c9f5d2f | 42 | lcd.printf("Button 2\n"); |
wehner334 | 2:9693c1f2a4f2 | 43 | counterTwo++; |
wehner334 | 2:9693c1f2a4f2 | 44 | if (pc.writeable()) |
wehner334 | 2:9693c1f2a4f2 | 45 | { |
wehner334 | 3:119ffed38b29 | 46 | pc.printf("2,%i,%i \n",counterTwo, alteZeitTwo); |
wehner334 | 2:9693c1f2a4f2 | 47 | } |
wehner334 | 0:f0bce7801e75 | 48 | } |
wehner334 | 2:9693c1f2a4f2 | 49 | //wait(1); |
wehner334 | 2:9693c1f2a4f2 | 50 | //lcd.cls(); |
wehner334 | 2:9693c1f2a4f2 | 51 | /* movingVar++; |
wehner334 | 2:9693c1f2a4f2 | 52 | if(movingVar==5) { |
wehner334 | 2:9693c1f2a4f2 | 53 | movingVar=0; |
wehner334 | 2:9693c1f2a4f2 | 54 | } |
wehner334 | 2:9693c1f2a4f2 | 55 | */ |
wehner334 | 0:f0bce7801e75 | 56 | |
wehner334 | 0:f0bce7801e75 | 57 | } |
wehner334 | 0:f0bce7801e75 | 58 | |
wehner334 | 2:9693c1f2a4f2 | 59 | int main() |
wehner334 | 3:119ffed38b29 | 60 | { pc.baud(115200); |
wehner334 | 2:9693c1f2a4f2 | 61 | mybuttonone.fall(&pressedone); |
wehner334 | 2:9693c1f2a4f2 | 62 | mybuttonone.mode(PullUp); |
wehner334 | 2:9693c1f2a4f2 | 63 | Timerone.start(); |
wehner334 | 2:9693c1f2a4f2 | 64 | mybuttontwo.fall(&pressedtwo); |
wehner334 | 2:9693c1f2a4f2 | 65 | mybuttontwo.mode(PullUp); |
wehner334 | 2:9693c1f2a4f2 | 66 | lcd.printf("Hello World!\n"); |
wehner334 | 2:9693c1f2a4f2 | 67 | wait(1); |
wehner334 | 2:9693c1f2a4f2 | 68 | lcd.cls(); |
wehner334 | 2:9693c1f2a4f2 | 69 | mynewled=true; |
wehner334 | 0:f0bce7801e75 | 70 | while(1) { |
wehner334 | 3:119ffed38b29 | 71 | alteZeit=Timerone.read_ms(); |
wehner334 | 3:119ffed38b29 | 72 | if(alteZeit>1000) |
wehner334 | 2:9693c1f2a4f2 | 73 | {Timerone.reset(); |
wehner334 | 2:9693c1f2a4f2 | 74 | alteZeitOne=0; |
wehner334 | 3:119ffed38b29 | 75 | alteZeitTwo=0; |
wehner334 | 3:119ffed38b29 | 76 | alteZeit=0;} |
wehner334 | 2:9693c1f2a4f2 | 77 | if(aout.read()<0.5f) { |
wehner334 | 2:9693c1f2a4f2 | 78 | myled = !myled; |
wehner334 | 2:9693c1f2a4f2 | 79 | } |
wehner334 | 3:119ffed38b29 | 80 | lcd.locate(0,0); |
wehner334 | 3:119ffed38b29 | 81 | lcd.printf(" "); |
wehner334 | 2:9693c1f2a4f2 | 82 | //lcd.printf("new"); |
wehner334 | 0:f0bce7801e75 | 83 | lcd.locate(0,1); |
wehner334 | 0:f0bce7801e75 | 84 | lcd.printf("ana=%1.2f", aout.read() * 3.3f); |
wehner334 | 2:9693c1f2a4f2 | 85 | |
wehner334 | 2:9693c1f2a4f2 | 86 | |
wehner334 | 2:9693c1f2a4f2 | 87 | wait(0.5); |
wehner334 | 0:f0bce7801e75 | 88 | } |
wehner334 | 0:f0bce7801e75 | 89 | } |