Extra problem 2 for HW 1

Dependencies:   mbed

Committer:
lzzcd001
Date:
Wed Feb 18 14:48:48 2015 +0000
Revision:
0:a64f45869df3
Extra problem 2 for HW 1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lzzcd001 0:a64f45869df3 1 #include "mbed.h"
lzzcd001 0:a64f45869df3 2
lzzcd001 0:a64f45869df3 3 DigitalOut latch(p15);
lzzcd001 0:a64f45869df3 4 DigitalOut enable(p16);
lzzcd001 0:a64f45869df3 5 DigitalIn r(p5);
lzzcd001 0:a64f45869df3 6 DigitalIn g(p6);
lzzcd001 0:a64f45869df3 7 DigitalIn b(p7);
lzzcd001 0:a64f45869df3 8
lzzcd001 0:a64f45869df3 9 SPI spi(p11, p12, p13);
lzzcd001 0:a64f45869df3 10
lzzcd001 0:a64f45869df3 11 void RGB_LED(int red, int green, int blue) {
lzzcd001 0:a64f45869df3 12 unsigned int low_color=0;
lzzcd001 0:a64f45869df3 13 unsigned int high_color=0;
lzzcd001 0:a64f45869df3 14 high_color=(blue<<4)|((red&0x3C0)>>6);
lzzcd001 0:a64f45869df3 15 low_color=(((red&0x3F)<<10)|(green));
lzzcd001 0:a64f45869df3 16 spi.write(high_color);
lzzcd001 0:a64f45869df3 17 spi.write(low_color);
lzzcd001 0:a64f45869df3 18 latch=1;
lzzcd001 0:a64f45869df3 19 latch=0;
lzzcd001 0:a64f45869df3 20 }
lzzcd001 0:a64f45869df3 21
lzzcd001 0:a64f45869df3 22 int main() {
lzzcd001 0:a64f45869df3 23 int red=0;
lzzcd001 0:a64f45869df3 24 int green=0;
lzzcd001 0:a64f45869df3 25 int blue=0;
lzzcd001 0:a64f45869df3 26 spi.format(16,0);
lzzcd001 0:a64f45869df3 27 spi.frequency(500000);
lzzcd001 0:a64f45869df3 28 enable=0;
lzzcd001 0:a64f45869df3 29 latch=0;
lzzcd001 0:a64f45869df3 30 wait(2);
lzzcd001 0:a64f45869df3 31 while(1) {
lzzcd001 0:a64f45869df3 32 if (r == 1){
lzzcd001 0:a64f45869df3 33 if (red < 255) red += 5;
lzzcd001 0:a64f45869df3 34 } else {
lzzcd001 0:a64f45869df3 35 if (red > 0) red -= 5;
lzzcd001 0:a64f45869df3 36 }
lzzcd001 0:a64f45869df3 37 if (b == 1){
lzzcd001 0:a64f45869df3 38 if (blue < 255) blue += 5;
lzzcd001 0:a64f45869df3 39 } else {
lzzcd001 0:a64f45869df3 40 if (blue > 0) blue -= 5;
lzzcd001 0:a64f45869df3 41 }
lzzcd001 0:a64f45869df3 42 if (g == 1){
lzzcd001 0:a64f45869df3 43 if (green < 255) green += 5;
lzzcd001 0:a64f45869df3 44 } else {
lzzcd001 0:a64f45869df3 45 if (green > 0) green -= 5;
lzzcd001 0:a64f45869df3 46 }
lzzcd001 0:a64f45869df3 47 RGB_LED(red, green, blue);
lzzcd001 0:a64f45869df3 48 wait(0.5);
lzzcd001 0:a64f45869df3 49 }
lzzcd001 0:a64f45869df3 50
lzzcd001 0:a64f45869df3 51 }