Andrew Ferguson / Mbed 2 deprecated Ferguson_A2_Digital_Input

Dependencies:   mbed

main.cpp

Committer:
a_ferguson
Date:
2022-10-06
Revision:
2:af576070220a
Parent:
1:c186d9b63164
Child:
3:896a932d47fc

File content as of revision 2:af576070220a:

#include "mbed.h"

Serial pc(USBTX,USBRX); //do not need when we aren't communicating with pc
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalIn button(p17); // button attached to p17

int main() {

int currentstate=0;
int previousstate=0;
int counter=0;

    while(1) {
        
        currentstate=button.read(); // set current state
        
        if (currentstate==1){ //blinks 1s interval when pressed
            myled2=!myled2;
            wait(1);
            
            if (currentstate==previousstate){
                }
                
            else{ // change in state adds counter
                counter=counter+1;
                pc.printf("count=%i \r\n",counter);
                }
                
            } //if
            
        else { //blinks 0.3s interval when released
            myled2=!myled2;
            wait(0.3);
            
            if (currentstate==previousstate){
                }
                
            else{ // change in state adds counter
                counter=counter+1;
                pc.printf("count=%i \r\n",counter);
                }
            
            } //else
        
        if (counter==10){ // counter reaches 10 turns on led1
            myled1=1;
            } //if
        
        previousstate=currentstate; //set previous state
        
    } //while
    
} //main