Steve Ravet
/
ticker_test5
short program to show a problem with spi and tickers
main.cpp@0:85d990bd01f4, 2010-10-20 (annotated)
- Committer:
- sravet
- Date:
- Wed Oct 20 04:32:32 2010 +0000
- Revision:
- 0:85d990bd01f4
Who changed what in which revision?
User | Revision | Line number | New 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 |