Claus Adamsen / Mbed 2 deprecated StartProgram2

Dependencies:   TextLCD mbed-rtos mbed

Fork of TextLCD_HelloWorld_SuperTue by Tue Myren

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // Hello World! for the TextLCD
00002 
00003 #include "mbed.h"
00004 #include "TextLCD.h"//LCD bibliotek
00005 #include "rtos.h"//threading bibliotek
00006 
00007 TextLCD lcd_txt(p26, p25, p24, p23, p22, p21,TextLCD::LCD20x4); // rs, e, d4-d7
00008 DigitalOut Led1 (LED1);
00009 DigitalOut Led2 (LED2);
00010 DigitalOut Led3 (LED3);
00011 DigitalOut Led4 (LED4);
00012 DigitalOut MyLed (p29);
00013 DigitalIn Btn1 (p27);
00014 
00015 
00016 
00017 int count, count2,AntalTryk = 0;
00018 bool NewPress = false;
00019 char tempString[1];
00020 
00021 
00022 
00023 void clearLed()
00024 {
00025     Led1 = false;    
00026     Led2 = false;    
00027     Led3 = false;    
00028     Led4 = false;    
00029  
00030 }
00031 
00032 
00033 void CheckBtn_thread(void const *args) 
00034 {
00035     while (true) //tråd der scanner knapper
00036     {
00037         if (Btn1 == true)//scanner knap Hvis der er trykket
00038         {
00039           lcd_txt.locate(1,1);                      //Sætter position i displayet (kolone 0 række 3)
00040           lcd_txt.printf("Knappen er trykket");          // Skriver en række med "Knap trykket" i displayet.
00041           
00042           Thread::wait(100);   // Venter 80 ms
00043 
00044           MyLed = !MyLed;       // Tænder og slukker Led2
00045         }
00046         else            //Hvis knappen ikke er trykket
00047         {
00048           lcd_txt.locate(1,1);                      //Sætter position i displayet (kolone 0 række 3)
00049           lcd_txt.printf("                  ");   // Skriver en række med "ingenting" i displayet.
00050 
00051         } 
00052          
00053     }
00054 
00055  }
00056 
00057 
00058 int main() 
00059 {
00060     Thread thread(CheckBtn_thread);
00061     lcd_txt.cls();                                  //Sletter displayet
00062 
00063     lcd_txt.locate(0,0);                            //Sætter position i displayet (kolone 0 række 0)
00064     
00065     lcd_txt.printf("Hej .....");
00066     
00067     while (true) 
00068     {
00069     //  Led1 = !Led1;                                 // Blinket med Led 1.
00070       Thread::wait(100);
00071       
00072         clearLed();
00073         switch(count)
00074         { 
00075             case 0:
00076                     Led1 = true;
00077             break;
00078             case 1:                             //Ved første tryk tændes Led3
00079                     Led2 = true;
00080                     count = -1;
00081             break;
00082                 
00083         } 
00084        count++;  
00085     }
00086 
00087 }
00088