Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of scheduler-demo-cq-lpc11u35 by
led_tsk.cpp
00001 /* 00002 # 00003 # Copyright (C) 2010-2014, audin 00004 # 2014/02: Modify for mbed for CQ LPC11U35 00005 # 2013/08: Modify for mbed for LPC1114FN28 00006 # 2013/07: Modify for LPCOpen Platform. 00007 # 2011/04, 2012/11 00008 # 2010/11 00009 # http://avr.paslog.jp 00010 # This file is licensed under the MIT License. 00011 # 00012 */ 00013 00014 #include "mbed.h" 00015 #include "led_tsk.h" 00016 #include "Scheduler.h" 00017 00018 00019 /* for CQ ,lpc11u35 */ 00020 DigitalIn s2(P0_2); 00021 DigitalOut led1(P0_20); 00022 00023 #define led1_on() led1=0 /* Negative on */ 00024 #define led1_off() led1=1 00025 00026 /******************* 00027 00028 * Fake PWM class 00029 00030 *******************/ 00031 static void pwm_elm( int ms, int max_ms, DigitalOut *led ) 00032 { 00033 *led=0; // negative on 00034 taskWait( ms ); 00035 *led=1; 00036 taskWait( max_ms - ms); 00037 } 00038 00039 class pwm_fake_t 00040 { 00041 int max_val, val, MIN_VAL, dir, speed; 00042 DigitalOut *led; 00043 public: 00044 pwm_fake_t(DigitalOut *_led, int _speed) { 00045 max_val = speed = _speed; 00046 val = MIN_VAL = 0; 00047 dir =1; 00048 led = _led; 00049 } 00050 void run() { 00051 if( ( val >= max_val) || ( val <= MIN_VAL) ) { 00052 max_val = speed;//sio_get_led_blink_speed() + 3 ; // change period 00053 max_val <<= 1; // adjust time 00054 if( val <= MIN_VAL ) { 00055 dir = 1; 00056 taskWait( 1000 ); // wait 1src if led off 00057 } else { 00058 dir = -1; 00059 val = max_val; 00060 } 00061 } 00062 val += dir; 00063 pwm_elm( val, max_val, led ); 00064 } 00065 }; 00066 00067 /******************* 00068 00069 * LED1 task 00070 00071 *******************/ 00072 void led1_task( void ) 00073 { 00074 led1_off(); 00075 taskWait( 1000 ); 00076 pwm_fake_t pwm_led( &led1, 10+3); 00077 while( 1 ) { 00078 pwm_led.run(); 00079 } 00080 } 00081
Generated on Sun Jul 17 2022 00:49:54 by
1.7.2
