short program to show a problem with spi and tickers

Dependencies:   mbed

Committer:
sravet
Date:
Wed Oct 20 04:32:32 2010 +0000
Revision:
0:85d990bd01f4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sravet 0:85d990bd01f4 1 #include "mbed.h"
sravet 0:85d990bd01f4 2 #include "pattern.h"
sravet 0:85d990bd01f4 3
sravet 0:85d990bd01f4 4
sravet 0:85d990bd01f4 5 SPI spi(p5, p6, p7); // mosi, miso, sclk
sravet 0:85d990bd01f4 6 DigitalOut cs(p8);
sravet 0:85d990bd01f4 7 DigitalOut blank(p11);
sravet 0:85d990bd01f4 8 DigitalOut xlat(p12);
sravet 0:85d990bd01f4 9 AnalogIn audio(p15);
sravet 0:85d990bd01f4 10 AnalogOut DAC(p18);
sravet 0:85d990bd01f4 11
sravet 0:85d990bd01f4 12 Serial pc(USBTX, USBRX); // tx, rx
sravet 0:85d990bd01f4 13 Ticker refresh;
sravet 0:85d990bd01f4 14
sravet 0:85d990bd01f4 15 void refresh_leds(void);
sravet 0:85d990bd01f4 16 pattern p1;
sravet 0:85d990bd01f4 17
sravet 0:85d990bd01f4 18 int main() {
sravet 0:85d990bd01f4 19 int i,j,done=0,key,inc=10;
sravet 0:85d990bd01f4 20 int red,green,blue,sat,value;
sravet 0:85d990bd01f4 21 float f1,f2;
sravet 0:85d990bd01f4 22
sravet 0:85d990bd01f4 23 // configure SPI to match TLC5947. 12 bit word, mode zero
sravet 0:85d990bd01f4 24 // frequency of 1 MHz.
sravet 0:85d990bd01f4 25 spi.format(12,0);
sravet 0:85d990bd01f4 26 spi.frequency(1000000);
sravet 0:85d990bd01f4 27
sravet 0:85d990bd01f4 28 // attach the LED refresh function
sravet 0:85d990bd01f4 29 refresh.attach_us(refresh_leds,10000);
sravet 0:85d990bd01f4 30
sravet 0:85d990bd01f4 31 //start the pattern isr
sravet 0:85d990bd01f4 32 p1.start();
sravet 0:85d990bd01f4 33
sravet 0:85d990bd01f4 34 while(1);
sravet 0:85d990bd01f4 35
sravet 0:85d990bd01f4 36 }
sravet 0:85d990bd01f4 37
sravet 0:85d990bd01f4 38 void refresh_leds(void)
sravet 0:85d990bd01f4 39 {
sravet 0:85d990bd01f4 40 int color,led,r,g,b,h,s,v;
sravet 0:85d990bd01f4 41 cs=1;
sravet 0:85d990bd01f4 42 for (led=0;led<24;led++){
sravet 0:85d990bd01f4 43 spi.write(r);
sravet 0:85d990bd01f4 44 spi.write(b);
sravet 0:85d990bd01f4 45 spi.write(g);
sravet 0:85d990bd01f4 46 }
sravet 0:85d990bd01f4 47 xlat=1;
sravet 0:85d990bd01f4 48 xlat=0;
sravet 0:85d990bd01f4 49 if (blank) blank=0;
sravet 0:85d990bd01f4 50 cs=0;
sravet 0:85d990bd01f4 51 }
sravet 0:85d990bd01f4 52
sravet 0:85d990bd01f4 53
sravet 0:85d990bd01f4 54
sravet 0:85d990bd01f4 55
sravet 0:85d990bd01f4 56
sravet 0:85d990bd01f4 57