A simple timer

Dependencies:   mbed

main.cpp

Committer:
pythonworld
Date:
2017-09-23
Revision:
1:943070f97366
Parent:
0:d962bf5b5f53

File content as of revision 1:943070f97366:

#include "mbed.h"

int status = 0;
int second =5;
const float interval1 = 0.2;
const float interval0 = 0.5;
DigitalOut  my_led(D13);
DigitalOut  my_buzzer(D8);

InterruptIn my_button1(D6);
InterruptIn my_button2(D5);
InterruptIn my_button3(D4);
InterruptIn my_button4(D3);

Timeout my_timer;

void key1_pressed()
{
   
    my_timer.detach();
    status = 1;
    second = 10;

}

void key2_pressed()
{
   
    my_timer.detach();
    status = 1;

    second = 300;
}

void key3_pressed()
{
  
    my_timer.detach();
    status = 1;

    second = 600;
}

void key4_pressed()
{
    
    my_timer.detach();
    status = 1;

    second = 900;
}

void buzzer()
{
    my_buzzer = !my_buzzer;
    my_led = !my_led;
    wait(interval1);
    my_buzzer = !my_buzzer;
    wait(interval0);
    
    my_buzzer = !my_buzzer;
    my_led = !my_led;
    wait(interval1);
    my_buzzer = !my_buzzer;
    wait(interval0);
    
    my_buzzer = !my_buzzer;
    my_led = !my_led;
    wait(interval1);
    my_buzzer = !my_buzzer;
    wait(interval0);
    
    my_buzzer = !my_buzzer;
    my_led = !my_led;
    wait(interval1);
    my_buzzer = !my_buzzer;
    wait(interval0);
    
    my_buzzer = !my_buzzer;
    my_led = !my_led;
    wait(interval1);
    my_buzzer = !my_buzzer;
    wait(interval0);
    status = 0;

}


int main()
{
    my_buzzer.write(1);
    // Set button
    my_button1.fall(&key1_pressed);
//    my_button1.rise(&key1_pressed);

    my_button2.fall(&key2_pressed);
//    my_button2.rise(&key2_pressed);

    my_button3.fall(&key3_pressed);
//    my_button3.rise(&key3_pressed);

    my_button4.fall(&key4_pressed);
//    my_button4.rise(&key4_pressed);


    while (1) {
        if(status == 1) {
            my_timer.attach(&buzzer,second);
            status = 2;
        }
        if(status == 2)
       { wait(0.5);
         my_led = !my_led;
        }
    }

}