Julius Bernth / Mbed OS mbed-os-example-mbed5-blinky
Committer:
dofydoink
Date:
Fri Nov 19 22:29:37 2021 +0000
Revision:
0:2fc04988cde3
hjk

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dofydoink 0:2fc04988cde3 1 /* mbed Microcontroller Library
dofydoink 0:2fc04988cde3 2 * Copyright (c) 2019 ARM Limited
dofydoink 0:2fc04988cde3 3 * SPDX-License-Identifier: Apache-2.0
dofydoink 0:2fc04988cde3 4 */
dofydoink 0:2fc04988cde3 5
dofydoink 0:2fc04988cde3 6 #include "mbed.h"
dofydoink 0:2fc04988cde3 7 #include "platform/mbed_thread.h"
dofydoink 0:2fc04988cde3 8
dofydoink 0:2fc04988cde3 9
dofydoink 0:2fc04988cde3 10 // Blinking rate in milliseconds
dofydoink 0:2fc04988cde3 11 #define BLINKING_RATE_MS 500
dofydoink 0:2fc04988cde3 12
dofydoink 0:2fc04988cde3 13 Serial pc(USBTX, USBRX); // tx, rx
dofydoink 0:2fc04988cde3 14 Thread one;
dofydoink 0:2fc04988cde3 15 Thread two;
dofydoink 0:2fc04988cde3 16 Thread three;
dofydoink 0:2fc04988cde3 17
dofydoink 0:2fc04988cde3 18 void funcOne(){
dofydoink 0:2fc04988cde3 19 while(1){
dofydoink 0:2fc04988cde3 20 pc.printf("one \r\n");
dofydoink 0:2fc04988cde3 21 thread_sleep_for(500);
dofydoink 0:2fc04988cde3 22 }
dofydoink 0:2fc04988cde3 23 }
dofydoink 0:2fc04988cde3 24
dofydoink 0:2fc04988cde3 25 void funcTwo(){
dofydoink 0:2fc04988cde3 26 while(1){
dofydoink 0:2fc04988cde3 27 pc.printf("two \r\n");
dofydoink 0:2fc04988cde3 28 thread_sleep_for(1000);
dofydoink 0:2fc04988cde3 29 }
dofydoink 0:2fc04988cde3 30 }
dofydoink 0:2fc04988cde3 31
dofydoink 0:2fc04988cde3 32 void funcThree(){
dofydoink 0:2fc04988cde3 33 while(1){
dofydoink 0:2fc04988cde3 34 //one.join();
dofydoink 0:2fc04988cde3 35 two.start(funcTwo);
dofydoink 0:2fc04988cde3 36 thread_sleep_for(4000);
dofydoink 0:2fc04988cde3 37
dofydoink 0:2fc04988cde3 38 one.start(funcOne);
dofydoink 0:2fc04988cde3 39 //two.join();
dofydoink 0:2fc04988cde3 40 thread_sleep_for(4000);
dofydoink 0:2fc04988cde3 41 }
dofydoink 0:2fc04988cde3 42 }
dofydoink 0:2fc04988cde3 43
dofydoink 0:2fc04988cde3 44 int main()
dofydoink 0:2fc04988cde3 45 {
dofydoink 0:2fc04988cde3 46 // Initialise the digital pin LED1 as an output
dofydoink 0:2fc04988cde3 47 DigitalOut led(LED1);
dofydoink 0:2fc04988cde3 48 pc.printf("Hi there \r\n");
dofydoink 0:2fc04988cde3 49 three.start(funcThree);
dofydoink 0:2fc04988cde3 50 while (true) {
dofydoink 0:2fc04988cde3 51 led = !led;
dofydoink 0:2fc04988cde3 52 thread_sleep_for(BLINKING_RATE_MS);
dofydoink 0:2fc04988cde3 53 }
dofydoink 0:2fc04988cde3 54 }