dfg

Dependencies:   TextLCD mbed-rtos mbed

Fork of TextLCD_HelloWorld_SuperTue by Tue Myren

Committer:
cad
Date:
Tue Nov 22 13:59:02 2016 +0000
Revision:
5:4eea67529466
Parent:
4:6596cb2d1c90
CAD startversion 1.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 1:7418a52375a0 1 // Hello World! for the TextLCD
simon 1:7418a52375a0 2
simon 0:334327d1a416 3 #include "mbed.h"
myren 3:39825a5cf7cf 4 #include "TextLCD.h"//LCD bibliotek
myren 3:39825a5cf7cf 5 #include "rtos.h"//threading bibliotek
simon 0:334327d1a416 6
myren 3:39825a5cf7cf 7 TextLCD lcd_txt(p26, p25, p24, p23, p22, p21,TextLCD::LCD20x4); // rs, e, d4-d7
myren 3:39825a5cf7cf 8 DigitalOut Led1 (LED1);
myren 3:39825a5cf7cf 9 DigitalOut Led2 (LED2);
cad 4:6596cb2d1c90 10 DigitalOut Led3 (LED3);
cad 4:6596cb2d1c90 11 DigitalOut Led4 (LED4);
cad 5:4eea67529466 12 DigitalOut MyLed (p29);
myren 3:39825a5cf7cf 13 DigitalIn Btn1 (p27);
myren 3:39825a5cf7cf 14
cad 5:4eea67529466 15
cad 5:4eea67529466 16
cad 5:4eea67529466 17 int count, count2,AntalTryk = 0;
cad 4:6596cb2d1c90 18 bool NewPress = false;
cad 4:6596cb2d1c90 19 char tempString[1];
cad 5:4eea67529466 20
cad 4:6596cb2d1c90 21
myren 3:39825a5cf7cf 22
cad 5:4eea67529466 23 void clearLed()
cad 5:4eea67529466 24 {
cad 5:4eea67529466 25 Led1 = false;
cad 5:4eea67529466 26 Led2 = false;
cad 5:4eea67529466 27 Led3 = false;
cad 5:4eea67529466 28 Led4 = false;
cad 5:4eea67529466 29
cad 5:4eea67529466 30 }
myren 3:39825a5cf7cf 31
simon 0:334327d1a416 32
myren 3:39825a5cf7cf 33 void CheckBtn_thread(void const *args)
myren 3:39825a5cf7cf 34 {
myren 3:39825a5cf7cf 35 while (true) //tråd der scanner knapper
myren 3:39825a5cf7cf 36 {
cad 5:4eea67529466 37 if (Btn1 == true)//scanner knap Hvis der er trykket
cad 4:6596cb2d1c90 38 {
cad 5:4eea67529466 39 lcd_txt.locate(1,1); //Sætter position i displayet (kolone 0 række 3)
cad 5:4eea67529466 40 lcd_txt.printf("Knappen er trykket"); // Skriver en række med "Knap trykket" i displayet.
cad 4:6596cb2d1c90 41
cad 5:4eea67529466 42 Thread::wait(100); // Venter 80 ms
cad 4:6596cb2d1c90 43
cad 5:4eea67529466 44 MyLed = !MyLed; // Tænder og slukker Led2
cad 5:4eea67529466 45 }
cad 5:4eea67529466 46 else //Hvis knappen ikke er trykket
cad 5:4eea67529466 47 {
cad 5:4eea67529466 48 lcd_txt.locate(1,1); //Sætter position i displayet (kolone 0 række 3)
cad 5:4eea67529466 49 lcd_txt.printf(" "); // Skriver en række med "ingenting" i displayet.
cad 4:6596cb2d1c90 50
cad 4:6596cb2d1c90 51 }
myren 3:39825a5cf7cf 52
myren 3:39825a5cf7cf 53 }
myren 3:39825a5cf7cf 54
myren 3:39825a5cf7cf 55 }
myren 3:39825a5cf7cf 56
cad 5:4eea67529466 57
myren 3:39825a5cf7cf 58 int main()
myren 3:39825a5cf7cf 59 {
myren 3:39825a5cf7cf 60 Thread thread(CheckBtn_thread);
cad 5:4eea67529466 61 lcd_txt.cls(); //Sletter displayet
cad 4:6596cb2d1c90 62
cad 5:4eea67529466 63 lcd_txt.locate(0,0); //Sætter position i displayet (kolone 0 række 0)
cad 5:4eea67529466 64
cad 5:4eea67529466 65 lcd_txt.printf("Hej .....");
myren 3:39825a5cf7cf 66
myren 3:39825a5cf7cf 67 while (true)
myren 3:39825a5cf7cf 68 {
cad 5:4eea67529466 69 // Led1 = !Led1; // Blinket med Led 1.
cad 5:4eea67529466 70 Thread::wait(100);
cad 5:4eea67529466 71
cad 5:4eea67529466 72 clearLed();
cad 5:4eea67529466 73 switch(count)
cad 5:4eea67529466 74 {
cad 5:4eea67529466 75 case 0:
cad 5:4eea67529466 76 Led1 = true;
cad 5:4eea67529466 77 break;
cad 5:4eea67529466 78 case 1: //Ved første tryk tændes Led3
cad 5:4eea67529466 79 Led2 = true;
cad 5:4eea67529466 80 count = -1;
cad 5:4eea67529466 81 break;
cad 5:4eea67529466 82
cad 5:4eea67529466 83 }
cad 5:4eea67529466 84 count++;
myren 3:39825a5cf7cf 85 }
myren 3:39825a5cf7cf 86
simon 0:334327d1a416 87 }
myren 3:39825a5cf7cf 88