UART SERIAL BUFFER CLEAR / FLUSH(). There is no direct function to clear UART buffer in Mbed, Trick require to handle this situation. Simple way is mentioned in this program to clear Rx buffer of UART. Jaydeep shah - radhey04ec@gmail.com

Committer:
radhey04ec
Date:
Fri Jul 24 10:37:58 2020 +0000
Revision:
0:3355c5b6d8fd
UART FLUSH - FINAL COMMIT; PROGRAM TESTED AND COMPILED SUCCESSFULLY; ; JAYDEEP SHAH - radhey04ec@gmail.com

Who changed what in which revision?

UserRevisionLine numberNew contents of line
radhey04ec 0:3355c5b6d8fd 1 ![](./resources/official_armmbed_example_badge.png)
radhey04ec 0:3355c5b6d8fd 2 # Blinky Mbed OS example
radhey04ec 0:3355c5b6d8fd 3
radhey04ec 0:3355c5b6d8fd 4 The example project is part of the [Arm Mbed OS Official Examples](https://os.mbed.com/code/) and is the [getting started example for Mbed OS](https://os.mbed.com/docs/mbed-os/v5.14/quick-start/index.html). It contains an application that repeatedly blinks an LED on supported [Mbed boards](https://os.mbed.com/platforms/).
radhey04ec 0:3355c5b6d8fd 5
radhey04ec 0:3355c5b6d8fd 6 You can build the project with all supported [Mbed OS build tools](https://os.mbed.com/docs/mbed-os/latest/tools/index.html). However, this example project specifically refers to the command-line interface tool [Arm Mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).
radhey04ec 0:3355c5b6d8fd 7 (Note: To see a rendered example you can import into the Arm Online Compiler, please see our [import quick start](https://os.mbed.com/docs/mbed-os/latest/quick-start/online-with-the-online-compiler.html#importing-the-code).)
radhey04ec 0:3355c5b6d8fd 8
radhey04ec 0:3355c5b6d8fd 9 1. [Install Mbed CLI](https://os.mbed.com/docs/mbed-os/latest/quick-start/offline-with-mbed-cli.html).
radhey04ec 0:3355c5b6d8fd 10
radhey04ec 0:3355c5b6d8fd 11 1. Clone this repository on your system, and change the current directory to where the project was cloned:
radhey04ec 0:3355c5b6d8fd 12
radhey04ec 0:3355c5b6d8fd 13 ```bash
radhey04ec 0:3355c5b6d8fd 14 $ git clone git@github.com:armmbed/mbed-os-example-blinky && cd mbed-os-example-blinky
radhey04ec 0:3355c5b6d8fd 15 ```
radhey04ec 0:3355c5b6d8fd 16
radhey04ec 0:3355c5b6d8fd 17 Alternatively, you can download the example project with Arm Mbed CLI using the `import` subcommand:
radhey04ec 0:3355c5b6d8fd 18
radhey04ec 0:3355c5b6d8fd 19 ```bash
radhey04ec 0:3355c5b6d8fd 20 $ mbed import mbed-os-example-blinky && cd mbed-os-example-blinky
radhey04ec 0:3355c5b6d8fd 21 ```
radhey04ec 0:3355c5b6d8fd 22
radhey04ec 0:3355c5b6d8fd 23
radhey04ec 0:3355c5b6d8fd 24 ## Application functionality
radhey04ec 0:3355c5b6d8fd 25
radhey04ec 0:3355c5b6d8fd 26 The `main()` function is the single thread in the application. It toggles the state of a digital output connected to an LED on the board.
radhey04ec 0:3355c5b6d8fd 27
radhey04ec 0:3355c5b6d8fd 28 ## Building and running
radhey04ec 0:3355c5b6d8fd 29
radhey04ec 0:3355c5b6d8fd 30 1. Connect a USB cable between the USB port on the board and the host computer.
radhey04ec 0:3355c5b6d8fd 31 2. <a name="build_cmd"></a> Run the following command to build the example project and program the microcontroller flash memory:
radhey04ec 0:3355c5b6d8fd 32 ```bash
radhey04ec 0:3355c5b6d8fd 33 $ mbed compile -m <TARGET> -t <TOOLCHAIN> --flash
radhey04ec 0:3355c5b6d8fd 34 ```
radhey04ec 0:3355c5b6d8fd 35 The binary is located at `./BUILD/<TARGET>/<TOOLCHAIN>/mbed-os-example-blinky.bin`.
radhey04ec 0:3355c5b6d8fd 36
radhey04ec 0:3355c5b6d8fd 37 Alternatively, you can manually copy the binary to the board, which you mount on the host computer over USB.
radhey04ec 0:3355c5b6d8fd 38
radhey04ec 0:3355c5b6d8fd 39 Depending on the target, you can build the example project with the `GCC_ARM`, `ARM` or `IAR` toolchain. After installing Arm Mbed CLI, run the command below to determine which toolchain supports your target:
radhey04ec 0:3355c5b6d8fd 40
radhey04ec 0:3355c5b6d8fd 41 ```bash
radhey04ec 0:3355c5b6d8fd 42 $ mbed compile -S
radhey04ec 0:3355c5b6d8fd 43 ```
radhey04ec 0:3355c5b6d8fd 44
radhey04ec 0:3355c5b6d8fd 45 ## Expected output
radhey04ec 0:3355c5b6d8fd 46 The LED on your target turns on and off every 500 milliseconds.
radhey04ec 0:3355c5b6d8fd 47
radhey04ec 0:3355c5b6d8fd 48
radhey04ec 0:3355c5b6d8fd 49 ## Troubleshooting
radhey04ec 0:3355c5b6d8fd 50 If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.
radhey04ec 0:3355c5b6d8fd 51
radhey04ec 0:3355c5b6d8fd 52 ## Related Links
radhey04ec 0:3355c5b6d8fd 53
radhey04ec 0:3355c5b6d8fd 54 * [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html).
radhey04ec 0:3355c5b6d8fd 55 * [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html).
radhey04ec 0:3355c5b6d8fd 56 * [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html).
radhey04ec 0:3355c5b6d8fd 57 * [Mbed OS bare metal](https://os.mbed.com/docs/mbed-os/latest/reference/mbed-os-bare-metal.html).
radhey04ec 0:3355c5b6d8fd 58 * [Mbed boards](https://os.mbed.com/platforms/).
radhey04ec 0:3355c5b6d8fd 59
radhey04ec 0:3355c5b6d8fd 60 ### License and contributions
radhey04ec 0:3355c5b6d8fd 61
radhey04ec 0:3355c5b6d8fd 62 The software is provided under Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more info.
radhey04ec 0:3355c5b6d8fd 63
radhey04ec 0:3355c5b6d8fd 64 This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.