/******************************************************************* * VS1011E Header File ********************************************************************/ #include "GenericTypeDefs.h" /** Define Fclk for delay function@**/ #define CLOCK 16 // MHz //#define CLOCK 4 // Used Debug: Slow Fcy = 4MHz 110120 N.Ishii /** Define Port@*/ #define MP3_DREQ_TRIS (TRISBbits.TRISB14) // Data Request #define MP3_DREQ_IO (PORTBbits.RB14) #define MP3_XRESET_TRIS (TRISAbits.TRISA0) // Reset, active low #define MP3_XRESET_IO (LATAbits.LATA0) #define MP3_XDCS_TRIS (TRISBbits.TRISB15) // Data Chip Select #define MP3_XDCS_IO (LATBbits.LATB15) #define MP3_XCS_TRIS (TRISBbits.TRISB13) // Control Chip Select #define MP3_XCS_IO (LATBbits.LATB13) /* Used SPI: SPI2 */ #define MP3_SCK_TRIS (TRISBbits.TRISB12) #define MP3_SDI_TRIS (TRISBbits.TRISB10) #define MP3_SDO_TRIS (TRISBbits.TRISB11) #define MP3_SPI_IF (IFS2bits.SPI2IF) #define MP3_SSPBUF (SPI2BUF) #define MP3_SPICON1 (SPI2CON1) #define MP3_SPICON1bits (SPI2CON1bits) #define MP3_SPICON2 (SPI2CON2) #define MP3_SPISTAT (SPI2STAT) #define MP3_SPISTATbits (SPI2STATbits) /* Function Prototype */ BYTE WriteSPI(BYTE output); void Command(BYTE RegAdrs, BYTE UpData, BYTE LowData); void SendData(BYTE Data); void delay_ms(int msec); void VS1011_Init(void); void VS1011_SineTest(void); void SetVolume(BYTE right, BYTE left); void SetBassBoost(BYTE bass, BYTE gfreq); void PlayEnd(void);