Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- noutram
- Date:
- 2015-09-24
- Revision:
- 0:87df0368c584
File content as of revision 0:87df0368c584:
#include "mbed.h"
#define kRED (1 << 2) //4
#define kYELLOW (1 << 1) //2
#define kGREEN (1 << 0) //1
//Global objects
BusOut binaryOutput(D5, D6, D7); //Outputs as an integer
DigitalIn SW1(D3);
DigitalIn SW2(D4);
AnalogIn AIN(A0);
float fVin = 0.0;
//Main function
int main() {
//This represents which state we are in
//RED or GREEN
int state = 0;
while(1) {
//Read ADC
fVin = AIN;
//Write to terminal
printf("Analog input = %6.4f\n", fVin);
//Now the "state machine" - next state logic
switch (state) {
//The RED state
case 0:
//Condition to switch state
if (fVin > 0.6f) {
state = 1;
}
break;
//The GREEN state
case 1:
//Condition to switch state
if (fVin < 0.4f) {
state = 0;
}
break;
default:
state = 0;
}
//Output logic
switch (state) {
case 0:
binaryOutput = kGREEN;
break;
case 1:
binaryOutput = kRED;
break;
default:
binaryOutput = 0;
}
//Wait
wait(0.1);
} //end while(1)
} //end main