myled

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "led.h"
00003 //#include "mbed.h"
00004 
00005 PwmOut led_blue(PTA5);
00006 PwmOut led_green(PTC8);
00007 PwmOut led_red (PTC9);
00008 //unsigned int led_period = 1000;
00009 //unsigned int led_pulsewidth = 50;
00010 //unsigned int led_step =10;
00011 //unsigned int pwm_red_led(int brightness);
00012 //unsigned int pwm_blue_led(int brightness);
00013 //unsigned int pwm_green_led(int brightness);
00014 unsigned int led_red_pulsewidth;
00015 unsigned int led_green_pulsewidth;
00016 unsigned int led_blue_pulsewidth;
00017 unsigned int led_period =1000;
00018 unsigned int led_pulsewidth = 0;
00019 unsigned int led_step = 10;
00020 
00021 unsigned int pwm_blue_led(int brightness )
00022 {
00023     if (brightness==1) {
00024         led_blue_pulsewidth=led_blue_pulsewidth+led_step;
00025         led_blue.pulsewidth_us(led_blue_pulsewidth);
00026     };
00027     if (brightness==0) {
00028         led_blue_pulsewidth=led_blue_pulsewidth-led_step;
00029         led_blue.pulsewidth_us(led_blue_pulsewidth);
00030     };
00031     return led_blue_pulsewidth;
00032 }
00033 unsigned int pwm_green_led(int brightness)
00034 {
00035     if (brightness==1) {
00036         led_green_pulsewidth=led_green_pulsewidth+led_step;
00037         led_green.pulsewidth_us(led_green_pulsewidth);
00038     }
00039     if (brightness==0) {
00040         led_green_pulsewidth=led_green_pulsewidth-led_step;
00041         led_green.pulsewidth_us(led_green_pulsewidth);
00042     }
00043     return led_green_pulsewidth;
00044 }
00045 unsigned int pwm_red_led(int brightness)
00046 {
00047     if (brightness==1) {
00048         led_red_pulsewidth=led_red_pulsewidth+led_step;
00049         led_red.pulsewidth_us(led_red_pulsewidth);
00050     }
00051     if (brightness==0) {
00052         led_red_pulsewidth=led_red_pulsewidth-led_step;
00053         led_red.pulsewidth_us(led_red_pulsewidth);
00054     }
00055     return led_red_pulsewidth;
00056 }
00057 int main(void)
00058 {
00059     while(1) {
00060         led_blue.period_us(led_period);
00061         led_blue_pulsewidth=led_pulsewidth;
00062         for (int i=1; i<=100; i++) {
00063             pwm_blue_led(1);
00064             wait (0.1);
00065         }
00066         for (int i=1; i<=100; i++) {
00067             pwm_blue_led(0);
00068             wait (0.1);
00069         }
00070         led_blue_pulsewidth=10;    // set to 0
00071         pwm_blue_led(0);           // set to 0
00072 
00073         led_red.period_us(led_period);
00074         led_red_pulsewidth=led_pulsewidth;
00075         for (int i=1; i<=100; i++) {
00076             pwm_red_led(1);
00077             wait (0.1);
00078         }
00079         for (int i=1; i<=100; i++) {
00080             pwm_red_led(0);
00081             wait (0.1);
00082         }
00083         led_red_pulsewidth=10;    // set to 0
00084         pwm_red_led(0);           // set to 0
00085         
00086         led_green.period_us(led_period);
00087         led_green_pulsewidth=led_pulsewidth;
00088         for (int i=1; i<=100; i++) {
00089             pwm_green_led(1);
00090             wait (0.1);
00091         }
00092         for (int i=1; i<=100; i++) {
00093             pwm_green_led(0);
00094             wait (0.1);
00095         }
00096         led_green_pulsewidth=10;    // set to 0
00097         pwm_green_led(0);           // set to 0
00098     }
00099 
00100 }