![](/media/cache/group/logo-cachanx.jpg.50x50_q85.jpg)
Purpose: Simple application example with 3 threads
Dependencies: IHM_V2
Purpose: Simple application example with 3 threads Target: L432KC / Nboard (from IUT-Cachan) Tested: YES (2019-01-09) Author: Jacques-Olivier Klein - IUT de CACHAN Date: 2018-02-10 rev. 2019-01-09 OS_STACK_SIZE=4096 Libraries: mbed-os rev5345:c966348(03jan2019) + IHMV2 (from IUT-Cachan) rev6:ad91067
main.cpp
- Committer:
- jacquesolivierklein
- Date:
- 2018-02-10
- Revision:
- 27:998da0f731ad
- Parent:
- 22:af9dcf379926
- Child:
- 28:a0164609dcc0
File content as of revision 27:998da0f731ad:
// Title : mbed-os-3-threads // Author: Jacques-Olivier Klein - IUT de CACHAN // Date: 2018-02-10 #include "mbed.h" #include "IHM.h" IHM ihm; DigitalOut L0 (PB_3) ; // led L0 DigitalOut L1 (PA_7) ; // led L1 DigitalOut L2 (PA_6) ; // led L2 void led1_thread(); void led2_thread(); Thread thread1; Thread thread2; // main is the 1st thread int main(void) { ihm.LCD_clear(); ihm.LCD_printf("3-threads-%s %s",__DATE__,__TIME__); printf("mbed-os-3-threads-%s %s\n\r",__DATE__,__TIME__); printf("DEFAULT_STACK_SIZE:%d\n\r", DEFAULT_STACK_SIZE); thread1.start(led1_thread); thread2.start(led2_thread); while(1){ L0=!L0; printf("* [pid-%d]Main \n\r",Thread::gettid()); Thread::wait(200); } } void led1_thread(){ while (1) { L1 = ! L1; printf(" * [pid-%d]led1_thread \n\r",Thread::gettid()); Thread::wait(500); } } void led2_thread(){ while (1) { L2 = ! L2; printf(" *[pid-%d]led2_thread \n\r",Thread::gettid()); Thread::wait(2500); } }