send a number through serial USB >> blink it in binary using the default LED

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

main.cpp

Committer:
Ladon
Date:
2017-11-11
Revision:
53:2da3dc1461af
Parent:
52:fb9d943f4042

File content as of revision 53:2da3dc1461af:

#include "mbed.h"

DigitalOut led1(LED1);

Serial pc(USBTX, USBRX);

// blink a number in binary //
void blink_in_binary (int number);

// main() runs in its own thread in the OS
int main() {
//    pc.baud(9600);
    int number;
    number = 0;
    while (true) {
        while (!pc.readable());
        pc.scanf("%d", &number);
        pc.printf("you entered %d\n", number);
        blink_in_binary(number);
    }
}

// recursivelly prints left-to-right //
void blink_in_binary (int number)
{
    if (number <= 0)
        return;
    blink_in_binary (number >> 1);
    led1 = number & 1;
    wait(0.3);
    led1 = 0;
    wait(0.3);
}