working led blinking properly well
This commit is contained in:
50
pwm_led2/main.cpp
Normal file
50
pwm_led2/main.cpp
Normal file
@@ -0,0 +1,50 @@
|
||||
// main.cpp
|
||||
#include "mbed.h"
|
||||
|
||||
DigitalOut led1(LED1);
|
||||
DigitalOut led2(LED2);
|
||||
DigitalOut led3(LED3);
|
||||
DigitalIn button(PC_13);
|
||||
|
||||
int another_press(int press_num) {
|
||||
press_num += 1;
|
||||
if (press_num >= 8) {
|
||||
press_num = 0;
|
||||
};
|
||||
|
||||
return press_num;
|
||||
}
|
||||
|
||||
void set_led(int number) {
|
||||
if ((number & 1) == 1){
|
||||
led1 = 1;
|
||||
}
|
||||
else if ((number & 2) == 2){
|
||||
led2 = 1;
|
||||
}
|
||||
else if ((number & 3) == 3){
|
||||
led3 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
|
||||
int num_presses = 0;
|
||||
while (true) {
|
||||
led1 = 0;
|
||||
led2 = 0;
|
||||
led3 = 0;
|
||||
|
||||
if (button == 0) {
|
||||
num_presses = another_press(num_presses);
|
||||
set_led(num_presses);
|
||||
|
||||
while (button == 0) {
|
||||
ThisThread::sleep_for(10ms);
|
||||
}
|
||||
}
|
||||
|
||||
ThisThread::sleep_for(150ms);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user