LED Fork

Dependencies:   mbed

Fork of RtosTest by Daniel Peter

Committer:
chok
Date:
Fri Aug 29 16:21:39 2014 +0000
Revision:
1:a33478a10fd0
Parent:
0:331db0b44b67
LED test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed714 0:331db0b44b67 1 #include <mbed.h>
mbed714 0:331db0b44b67 2 #include <scmRTOS.h>
mbed714 0:331db0b44b67 3
mbed714 0:331db0b44b67 4 Serial pc(USBTX, USBRX);
mbed714 0:331db0b44b67 5
mbed714 0:331db0b44b67 6 // process types
mbed714 0:331db0b44b67 7 typedef OS::process<OS::pr0, 1000> TProc1;
mbed714 0:331db0b44b67 8 typedef OS::process<OS::pr1, 1000> TProc2;
mbed714 0:331db0b44b67 9
mbed714 0:331db0b44b67 10 // process objects
mbed714 0:331db0b44b67 11 TProc1 Proc1;
mbed714 0:331db0b44b67 12 TProc2 Proc2;
mbed714 0:331db0b44b67 13
mbed714 0:331db0b44b67 14 //---------------------------------------------------------------------------
mbed714 0:331db0b44b67 15 long long count = 0;
mbed714 0:331db0b44b67 16
mbed714 0:331db0b44b67 17 int main() {
mbed714 0:331db0b44b67 18 pc.baud(115200);
mbed714 0:331db0b44b67 19 printf("\nInitialising ...\n");
mbed714 0:331db0b44b67 20 OS::Run();
mbed714 0:331db0b44b67 21 }
mbed714 0:331db0b44b67 22
mbed714 0:331db0b44b67 23 //---------------------------------------------------------------------------
mbed714 0:331db0b44b67 24 template<> OS_PROCESS void TProc1::Exec() {
mbed714 0:331db0b44b67 25 for (;;) {
mbed714 0:331db0b44b67 26 Sleep(2000);
mbed714 0:331db0b44b67 27 printf("[1] %lld\n", count);
mbed714 0:331db0b44b67 28 }
mbed714 0:331db0b44b67 29 }
mbed714 0:331db0b44b67 30
mbed714 0:331db0b44b67 31 //---------------------------------------------------------------------------
mbed714 0:331db0b44b67 32 template<> OS_PROCESS void TProc2::Exec() {
mbed714 0:331db0b44b67 33 for (;;) {
mbed714 0:331db0b44b67 34 Sleep(2000);
mbed714 0:331db0b44b67 35 printf("[2] %lld\n", count);
mbed714 0:331db0b44b67 36 }
mbed714 0:331db0b44b67 37 }
mbed714 0:331db0b44b67 38
mbed714 0:331db0b44b67 39 //---------------------------------------------------------------------------
mbed714 0:331db0b44b67 40 void OS::SystemTimerUserHook() {
mbed714 0:331db0b44b67 41 ++count;
mbed714 0:331db0b44b67 42 if (count % 2000 == 0) {
mbed714 0:331db0b44b67 43 printf("\n%lld\n", count);
mbed714 0:331db0b44b67 44 }
mbed714 0:331db0b44b67 45 }
mbed714 0:331db0b44b67 46
mbed714 0:331db0b44b67 47 //---------------------------------------------------------------------------
mbed714 0:331db0b44b67 48 void OS::IdleProcessUserHook() {
mbed714 0:331db0b44b67 49 __WFI();
mbed714 0:331db0b44b67 50 }