amit ate
/
Wticker_blinky_random_delay
Ticker Example
Fork of Workshop-1-Example-2 by
Revision 1:965926ce34a0, committed 2017-01-20
- Comitter:
- thinkfire
- Date:
- Fri Jan 20 11:53:01 2017 +0000
- Parent:
- 0:41a092c2e9d3
- Commit message:
- tested
Changed in this revision
README.md | Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 41a092c2e9d3 -r 965926ce34a0 README.md --- a/README.md Mon Sep 26 16:13:44 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -# Getting started with Blinky on mbed OS - -This is a very simple guide, reviewing the steps required to get Blinky working on an mbed OS platform. - -Please install [mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli). - -## Get the example application! - -From the command line, import the example: - -``` -mbed import mbed-os-example-blinky -cd mbed-os-example-blinky -``` - -### Now compile - -Invoke `mbed compile` specifying the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the ARM Compiler 5: - -``` -mbed compile -m K64F -t ARM -``` - -Your PC may take a few minutes to compile your code. At the end you should get the following result: - -``` -[snip] -+----------------------------+-------+-------+------+ -| Module | .text | .data | .bss | -+----------------------------+-------+-------+------+ -| Misc | 13939 | 24 | 1372 | -| core/hal | 16993 | 96 | 296 | -| core/rtos | 7384 | 92 | 4204 | -| features/FEATURE_IPV4 | 80 | 0 | 176 | -| frameworks/greentea-client | 1830 | 60 | 44 | -| frameworks/utest | 2392 | 512 | 292 | -| Subtotals | 42618 | 784 | 6384 | -+----------------------------+-------+-------+------+ -Allocated Heap: unknown -Allocated Stack: unknown -Total Static RAM memory (data + bss): 7168 bytes -Total RAM memory (data + bss + heap + stack): 7168 bytes -Total Flash memory (text + data + misc): 43402 bytes -Image: .\.build\K64F\ARM\mbed-os-example-blinky.bin -``` - -### Program your board - -1. Connect your mbed device to the computer over USB. -1. Copy the binary file to the mbed device . -1. Press the reset button to start the program. - -You should see the LED of your platform turning on and off. - -Congratulations if you managed to complete this test! - -## Export the project to Keil MDK and debug your application - -From the command line, run the following command: - -``` -mbed export -m K64F -i uvision -``` - -You should see the following output: - -``` -Successful exports: - * K64F::uvision .\projectfiles\uvision_K64F\Unnamed_Project -``` - -To debug the application: - -1. Start uVision. -1. Import the uVision project generated earlier. -1. Compile your application and generate an `.axf` file. -1. Make sure uVision is configured to debug over CMSIS-DAP (From the Project menu > Options for Target '...' > Debug tab > Use CMSIS-DAP Debugger). -1. Set breakpoints and start a debug session. - -![Image of uVision](img/uvision.png) - -## Troubleshooting - -1. Make sure `mbed-cli` is working correctly and its version is greater than `0.8.9` - - ``` - mbed --version - ``` - - If not, you can update it easily: - - ``` - pip install mbed-cli --upgrade - ``` - -2. If using Keil MDK, make sure you have a license installed. [MDK-Lite](http://www.keil.com/arm/mdk.asp) has a 32KB restriction on code size.
diff -r 41a092c2e9d3 -r 965926ce34a0 main.cpp --- a/main.cpp Mon Sep 26 16:13:44 2016 +0000 +++ b/main.cpp Fri Jan 20 11:53:01 2017 +0000 @@ -1,21 +1,42 @@ #include "mbed.h" -Ticker flipper; +Serial pc(USBTX,USBRX); + +Ticker L1,L2,L3,L4; + DigitalOut led1(LED1); DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); -void flip() { +void led_1() { + led1 = !led1; + //pc.printf("LED 1 toogled\n"); +} + +void led_2() { led2 = !led2; + //pc.printf("LED 2 toogled\n"); +} + +void led_3() { + led3 = !led3; + // pc.printf("LED 3 toogled\n"); +} + +void led_4() { + led4 = !led4; + // pc.printf("LED 4 toogled\n"); } int main() { - led2 = 1; - flipper.attach(&flip, 2.0); // call flip function every 2 seconds - + L1.attach(&led_1, ((rand()%10)+1)); + L2.attach(&led_2, ((rand()%10)+1)); // call flip function every 2 seconds + L3.attach(&led_3, ((rand()%10)+1)); + L4.attach(&led_4, ((rand()%10)+1)); // spin in a main loop. flipper will interrupt it to call flip while(1) { - led1 = !led1; - wait(0.2); - } + + } } \ No newline at end of file