Ticker Example

Fork of Workshop-1-Example-2 by mbed Workshops

Files at this revision

API Documentation at this revision

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
--- 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.
--- 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