RGB LED example using BusOut

Dependencies:   mbed

Fork of 1620_App_Board_RGB_GPIO by Craig Evans

Committer:
eencae
Date:
Fri Feb 17 11:57:04 2017 +0000
Revision:
2:12e0dd6bced5
Parent:
1:11303019663d
Initial commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:2f4ee2a22324 1 /* ELEC1620 Application Board Example
eencae 0:2f4ee2a22324 2
eencae 1:11303019663d 3 RGB LED
eencae 0:2f4ee2a22324 4
eencae 0:2f4ee2a22324 5 (c) Dr Craig A. Evans, University of Leeds, Feb 2017
eencae 0:2f4ee2a22324 6
eencae 0:2f4ee2a22324 7 */
eencae 0:2f4ee2a22324 8
eencae 0:2f4ee2a22324 9 #include "mbed.h"
eencae 0:2f4ee2a22324 10
eencae 2:12e0dd6bced5 11 // R , G , B
eencae 2:12e0dd6bced5 12 BusOut rgb_led(p24,p23,p22);
eencae 2:12e0dd6bced5 13 // LSB MSB
eencae 1:11303019663d 14
eencae 1:11303019663d 15 void init_leds();
eencae 0:2f4ee2a22324 16
eencae 1:11303019663d 17 int main()
eencae 1:11303019663d 18 {
eencae 2:12e0dd6bced5 19 // turn off LEDs
eencae 1:11303019663d 20 init_leds();
eencae 1:11303019663d 21
eencae 0:2f4ee2a22324 22 while(1) {
eencae 1:11303019663d 23
eencae 2:12e0dd6bced5 24 // loop through 3-bit values and set RGB colour
eencae 2:12e0dd6bced5 25 for(int val = 0; val < 8 ; val++) {
eencae 2:12e0dd6bced5 26 rgb_led.write(val);
eencae 2:12e0dd6bced5 27 // rgb_led = val; // syntax equivalent
eencae 2:12e0dd6bced5 28 wait(0.2);
eencae 2:12e0dd6bced5 29 }
eencae 1:11303019663d 30
eencae 0:2f4ee2a22324 31 }
eencae 0:2f4ee2a22324 32 }
eencae 1:11303019663d 33
eencae 1:11303019663d 34 void init_leds()
eencae 1:11303019663d 35 {
eencae 1:11303019663d 36 // LEDs are common anode (active-low) so writing a 1 will turn them off
eencae 2:12e0dd6bced5 37 // We have a 3-bit bus for the RGB LED, so writing 7 (0b111) will turn
eencae 2:12e0dd6bced5 38 // all 3 off
eencae 2:12e0dd6bced5 39 rgb_led.write(7);
eencae 2:12e0dd6bced5 40
eencae 1:11303019663d 41 // this syntax is equivalent
eencae 2:12e0dd6bced5 42 // rgb = 7;
eencae 2:12e0dd6bced5 43 // rgb = 0b111; // can also use binary literals since C++ compiler upgrade
eencae 1:11303019663d 44 }
eencae 1:11303019663d 45