Plamen Totev
/
led
myled
main.cpp@0:f134649523c1, 2014-04-08 (annotated)
- Committer:
- redplam
- Date:
- Tue Apr 08 01:53:51 2014 +0000
- Revision:
- 0:f134649523c1
myled
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
redplam | 0:f134649523c1 | 1 | #include "mbed.h" |
redplam | 0:f134649523c1 | 2 | #include "led.h" |
redplam | 0:f134649523c1 | 3 | //#include "mbed.h" |
redplam | 0:f134649523c1 | 4 | |
redplam | 0:f134649523c1 | 5 | PwmOut led_blue(PTA5); |
redplam | 0:f134649523c1 | 6 | PwmOut led_green(PTC8); |
redplam | 0:f134649523c1 | 7 | PwmOut led_red (PTC9); |
redplam | 0:f134649523c1 | 8 | //unsigned int led_period = 1000; |
redplam | 0:f134649523c1 | 9 | //unsigned int led_pulsewidth = 50; |
redplam | 0:f134649523c1 | 10 | //unsigned int led_step =10; |
redplam | 0:f134649523c1 | 11 | //unsigned int pwm_red_led(int brightness); |
redplam | 0:f134649523c1 | 12 | //unsigned int pwm_blue_led(int brightness); |
redplam | 0:f134649523c1 | 13 | //unsigned int pwm_green_led(int brightness); |
redplam | 0:f134649523c1 | 14 | unsigned int led_red_pulsewidth; |
redplam | 0:f134649523c1 | 15 | unsigned int led_green_pulsewidth; |
redplam | 0:f134649523c1 | 16 | unsigned int led_blue_pulsewidth; |
redplam | 0:f134649523c1 | 17 | unsigned int led_period =1000; |
redplam | 0:f134649523c1 | 18 | unsigned int led_pulsewidth = 0; |
redplam | 0:f134649523c1 | 19 | unsigned int led_step = 10; |
redplam | 0:f134649523c1 | 20 | |
redplam | 0:f134649523c1 | 21 | unsigned int pwm_blue_led(int brightness ) |
redplam | 0:f134649523c1 | 22 | { |
redplam | 0:f134649523c1 | 23 | if (brightness==1) { |
redplam | 0:f134649523c1 | 24 | led_blue_pulsewidth=led_blue_pulsewidth+led_step; |
redplam | 0:f134649523c1 | 25 | led_blue.pulsewidth_us(led_blue_pulsewidth); |
redplam | 0:f134649523c1 | 26 | }; |
redplam | 0:f134649523c1 | 27 | if (brightness==0) { |
redplam | 0:f134649523c1 | 28 | led_blue_pulsewidth=led_blue_pulsewidth-led_step; |
redplam | 0:f134649523c1 | 29 | led_blue.pulsewidth_us(led_blue_pulsewidth); |
redplam | 0:f134649523c1 | 30 | }; |
redplam | 0:f134649523c1 | 31 | return led_blue_pulsewidth; |
redplam | 0:f134649523c1 | 32 | } |
redplam | 0:f134649523c1 | 33 | unsigned int pwm_green_led(int brightness) |
redplam | 0:f134649523c1 | 34 | { |
redplam | 0:f134649523c1 | 35 | if (brightness==1) { |
redplam | 0:f134649523c1 | 36 | led_green_pulsewidth=led_green_pulsewidth+led_step; |
redplam | 0:f134649523c1 | 37 | led_green.pulsewidth_us(led_green_pulsewidth); |
redplam | 0:f134649523c1 | 38 | } |
redplam | 0:f134649523c1 | 39 | if (brightness==0) { |
redplam | 0:f134649523c1 | 40 | led_green_pulsewidth=led_green_pulsewidth-led_step; |
redplam | 0:f134649523c1 | 41 | led_green.pulsewidth_us(led_green_pulsewidth); |
redplam | 0:f134649523c1 | 42 | } |
redplam | 0:f134649523c1 | 43 | return led_green_pulsewidth; |
redplam | 0:f134649523c1 | 44 | } |
redplam | 0:f134649523c1 | 45 | unsigned int pwm_red_led(int brightness) |
redplam | 0:f134649523c1 | 46 | { |
redplam | 0:f134649523c1 | 47 | if (brightness==1) { |
redplam | 0:f134649523c1 | 48 | led_red_pulsewidth=led_red_pulsewidth+led_step; |
redplam | 0:f134649523c1 | 49 | led_red.pulsewidth_us(led_red_pulsewidth); |
redplam | 0:f134649523c1 | 50 | } |
redplam | 0:f134649523c1 | 51 | if (brightness==0) { |
redplam | 0:f134649523c1 | 52 | led_red_pulsewidth=led_red_pulsewidth-led_step; |
redplam | 0:f134649523c1 | 53 | led_red.pulsewidth_us(led_red_pulsewidth); |
redplam | 0:f134649523c1 | 54 | } |
redplam | 0:f134649523c1 | 55 | return led_red_pulsewidth; |
redplam | 0:f134649523c1 | 56 | } |
redplam | 0:f134649523c1 | 57 | int main(void) |
redplam | 0:f134649523c1 | 58 | { |
redplam | 0:f134649523c1 | 59 | while(1) { |
redplam | 0:f134649523c1 | 60 | led_blue.period_us(led_period); |
redplam | 0:f134649523c1 | 61 | led_blue_pulsewidth=led_pulsewidth; |
redplam | 0:f134649523c1 | 62 | for (int i=1; i<=100; i++) { |
redplam | 0:f134649523c1 | 63 | pwm_blue_led(1); |
redplam | 0:f134649523c1 | 64 | wait (0.1); |
redplam | 0:f134649523c1 | 65 | } |
redplam | 0:f134649523c1 | 66 | for (int i=1; i<=100; i++) { |
redplam | 0:f134649523c1 | 67 | pwm_blue_led(0); |
redplam | 0:f134649523c1 | 68 | wait (0.1); |
redplam | 0:f134649523c1 | 69 | } |
redplam | 0:f134649523c1 | 70 | led_blue_pulsewidth=10; // set to 0 |
redplam | 0:f134649523c1 | 71 | pwm_blue_led(0); // set to 0 |
redplam | 0:f134649523c1 | 72 | |
redplam | 0:f134649523c1 | 73 | led_red.period_us(led_period); |
redplam | 0:f134649523c1 | 74 | led_red_pulsewidth=led_pulsewidth; |
redplam | 0:f134649523c1 | 75 | for (int i=1; i<=100; i++) { |
redplam | 0:f134649523c1 | 76 | pwm_red_led(1); |
redplam | 0:f134649523c1 | 77 | wait (0.1); |
redplam | 0:f134649523c1 | 78 | } |
redplam | 0:f134649523c1 | 79 | for (int i=1; i<=100; i++) { |
redplam | 0:f134649523c1 | 80 | pwm_red_led(0); |
redplam | 0:f134649523c1 | 81 | wait (0.1); |
redplam | 0:f134649523c1 | 82 | } |
redplam | 0:f134649523c1 | 83 | led_red_pulsewidth=10; // set to 0 |
redplam | 0:f134649523c1 | 84 | pwm_red_led(0); // set to 0 |
redplam | 0:f134649523c1 | 85 | |
redplam | 0:f134649523c1 | 86 | led_green.period_us(led_period); |
redplam | 0:f134649523c1 | 87 | led_green_pulsewidth=led_pulsewidth; |
redplam | 0:f134649523c1 | 88 | for (int i=1; i<=100; i++) { |
redplam | 0:f134649523c1 | 89 | pwm_green_led(1); |
redplam | 0:f134649523c1 | 90 | wait (0.1); |
redplam | 0:f134649523c1 | 91 | } |
redplam | 0:f134649523c1 | 92 | for (int i=1; i<=100; i++) { |
redplam | 0:f134649523c1 | 93 | pwm_green_led(0); |
redplam | 0:f134649523c1 | 94 | wait (0.1); |
redplam | 0:f134649523c1 | 95 | } |
redplam | 0:f134649523c1 | 96 | led_green_pulsewidth=10; // set to 0 |
redplam | 0:f134649523c1 | 97 | pwm_green_led(0); // set to 0 |
redplam | 0:f134649523c1 | 98 | } |
redplam | 0:f134649523c1 | 99 | |
redplam | 0:f134649523c1 | 100 | } |