Chris Styles
/
EA_PCA9532_Example
Example of PCA9532 being used on the Embedded Artists Baseboard, this time fading up LEDs using PWM
main.cpp@0:0df46cf615c3, 2010-05-07 (annotated)
- Committer:
- chris
- Date:
- Fri May 07 12:41:06 2010 +0000
- Revision:
- 0:0df46cf615c3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chris | 0:0df46cf615c3 | 1 | #include "mbed.h" |
chris | 0:0df46cf615c3 | 2 | #include "PCA9532.h" |
chris | 0:0df46cf615c3 | 3 | |
chris | 0:0df46cf615c3 | 4 | PCA9532 leds (p28, p27, 0xc0); |
chris | 0:0df46cf615c3 | 5 | |
chris | 0:0df46cf615c3 | 6 | int main() { |
chris | 0:0df46cf615c3 | 7 | |
chris | 0:0df46cf615c3 | 8 | // Set LED15 to blink |
chris | 0:0df46cf615c3 | 9 | leds.Period(1, 0.1); |
chris | 0:0df46cf615c3 | 10 | leds.Duty(1, 0.5); |
chris | 0:0df46cf615c3 | 11 | leds.SetLed(15, MODE_PWM1); |
chris | 0:0df46cf615c3 | 12 | |
chris | 0:0df46cf615c3 | 13 | // LED0-14 will fade up in turn, the reset |
chris | 0:0df46cf615c3 | 14 | |
chris | 0:0df46cf615c3 | 15 | while (1) { |
chris | 0:0df46cf615c3 | 16 | |
chris | 0:0df46cf615c3 | 17 | // 0x7FFF enables LED 0-14, which are being switched off |
chris | 0:0df46cf615c3 | 18 | leds.SetMode(0x7fff, MODE_OFF); |
chris | 0:0df46cf615c3 | 19 | |
chris | 0:0df46cf615c3 | 20 | // For each LED in turn |
chris | 0:0df46cf615c3 | 21 | for (int i = 0 ; i < 15 ; i++) { |
chris | 0:0df46cf615c3 | 22 | |
chris | 0:0df46cf615c3 | 23 | // Switch PWM to off, and connect LED(i) |
chris | 0:0df46cf615c3 | 24 | leds.Duty(0, 0.0); |
chris | 0:0df46cf615c3 | 25 | leds.SetLed(i, MODE_PWM0); |
chris | 0:0df46cf615c3 | 26 | |
chris | 0:0df46cf615c3 | 27 | // Fade LED(i) from 0 to 1.0 |
chris | 0:0df46cf615c3 | 28 | for (float j = 0.0 ; j < 1.0 ; j+=0.01) { |
chris | 0:0df46cf615c3 | 29 | leds.Duty(0,j); |
chris | 0:0df46cf615c3 | 30 | wait(0.005); |
chris | 0:0df46cf615c3 | 31 | } |
chris | 0:0df46cf615c3 | 32 | |
chris | 0:0df46cf615c3 | 33 | // Set LED(i) to continuously ON |
chris | 0:0df46cf615c3 | 34 | // this stops it fading out and in again with LED(i+1) |
chris | 0:0df46cf615c3 | 35 | leds.SetLed(i, MODE_ON); |
chris | 0:0df46cf615c3 | 36 | wait (0.01); |
chris | 0:0df46cf615c3 | 37 | |
chris | 0:0df46cf615c3 | 38 | } |
chris | 0:0df46cf615c3 | 39 | |
chris | 0:0df46cf615c3 | 40 | } // while(1) |
chris | 0:0df46cf615c3 | 41 | } // main |
chris | 0:0df46cf615c3 | 42 |