Arduino+ VS1053 + SPI problems


hi

i ve been trying spi work time vs1053b data=http://www.vlsi.fi/fileadmin/datasheets/vlsi/vs1053.pdf vlsi mp3 chip cant! wonder if can direct me going wrong.

i using arduino mega + sparkfun vs1053b breakout board  data=http://www.sparkfun.com/datasheets/breakoutboards/vs1053-v13.pdf
pins
arduino-->breakout

50    --->so
51    --->si
52    --->sclk
53    --->cs
5v   ---->vcc
gnd ---> gnd

also left -->speaker
      gbuf --> speaker

wanted see if can sine test:
code: [select]
//connection vs1053b arduino mega

#define dataout 51//mosi
#define datain 50//miso -
#define spiclock  52//sck
#define slaveselect 53//ss

byte clr;
char spi_transfer(volatile char data)
{
 spdr = data;                    // start transmission
 while (!(spsr & (1<<spif)))     // wait end of transmission
 {
 };
 return spdr;                    // return received byte
}

void setup()
{
 pinmode(dataout, output);
 pinmode(datain, input);
 pinmode(spiclock,output);
 pinmode(slaveselect,output);
 digitalwrite(slaveselect,high); //disable device
 // spcr = 01010000
 //interrupt disabled,spi enabled,msb 1st,master,clk low when idle,
 //sample on leading edge of clk,system clock/16 (fastest)
 //the vs1053 spec states max spi clock frequency 5mhz, data order msb, , data valid on
 //the rising edge of clock, default settings of spi shortcut (500khz, msb, rising edge) applicable.
 // spr0 set 1 means 16/16 =1 mhz
  spcr = (1<<spe)|(1<<mstr) | (1<<spr0) | (0<<cpol) | (0<<cpha) | (0<<dord);
 clr=spsr;
 clr=spdr;
 delay(10);

digitalwrite(slaveselect,low);
spi_transfer(0x02);
spi_transfer(0x00);
spi_transfer(0x0c); //bits 8-15    
spi_transfer(0x20);  // bits 0-7  00100000  //allow sdi tests
digitalwrite(slaveselect,high);
delay(10);

//once in test mode ss should remain high
spi_transfer(0x53);
spi_transfer(0xef);
spi_transfer(0x6e);
spi_transfer(0xaa);
spi_transfer(0x00);
spi_transfer(0x00);
spi_transfer(0x00);
spi_transfer(0x00);



}


void loop()
{
   
}



the expectation once run should hear sine wave in speaker....but cant. can see obvious flaw?

thanks in advance

hey jaybay,

i befuddled.  did manage solve problem?  or, have considered using arduino's spi library: http://www.arduino.cc/playground/code/spi


Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Arduino+ VS1053 + SPI problems


arduino

Comments

Popular posts from this blog

CAN'T INSTALL MAMBELFISH 1.5 FROM DIRECTORY - Joomla! Forum - community, help and support

error: expected initializer before 'void'

CPU load monitoring using GPIO and leds - Raspberry Pi Forums