Library thread Blink Led or other processes use RTOS
Fork of BlinkLed by
Example
https://developer.mbed.org/users/AVELARDEV/code/LedsThreading/
BlinkLed.cpp@3:f317d057edde, 2016-05-24 (annotated)
- Committer:
- AVELARDEV
- Date:
- Tue May 24 06:38:16 2016 +0000
- Revision:
- 3:f317d057edde
- Parent:
- 2:1d0c09c1a8b4
Reduce BlinkLed library togayan
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
togayan | 0:a55a3351317d | 1 | #include "BlinkLed.h" |
togayan | 1:54071e781f77 | 2 | |
AVELARDEV | 3:f317d057edde | 3 | BlinkLed::BlinkLed(PinName pin, int n) : |
togayan | 1:54071e781f77 | 4 | led(pin), |
AVELARDEV | 3:f317d057edde | 5 | n(n) |
togayan | 0:a55a3351317d | 6 | { |
togayan | 0:a55a3351317d | 7 | } |
togayan | 0:a55a3351317d | 8 | |
togayan | 0:a55a3351317d | 9 | BlinkLed::~BlinkLed() |
togayan | 0:a55a3351317d | 10 | { |
togayan | 0:a55a3351317d | 11 | } |
togayan | 0:a55a3351317d | 12 | |
togayan | 0:a55a3351317d | 13 | void BlinkLed::startBlink() |
togayan | 0:a55a3351317d | 14 | { |
AVELARDEV | 3:f317d057edde | 15 | thread = new Thread(blink, this); |
togayan | 2:1d0c09c1a8b4 | 16 | } |
togayan | 2:1d0c09c1a8b4 | 17 | |
togayan | 0:a55a3351317d | 18 | void BlinkLed::blink(void const *argument) |
togayan | 0:a55a3351317d | 19 | { |
togayan | 0:a55a3351317d | 20 | BlinkLed* self = (BlinkLed*)argument; |
togayan | 1:54071e781f77 | 21 | |
togayan | 1:54071e781f77 | 22 | while(1) |
togayan | 0:a55a3351317d | 23 | { |
AVELARDEV | 3:f317d057edde | 24 | self->led = !self->led; |
AVELARDEV | 3:f317d057edde | 25 | Thread::wait(self->n); |
togayan | 0:a55a3351317d | 26 | } |
togayan | 0:a55a3351317d | 27 | } |