📄 vs1003.h
字号:
#ifndef __VS1003_H__
#define __VS1003_H__
#define VS_POR PORTC
#define VS_DDR DDRC
#define VS_PIN PINC
#define VS_XCS PC7 //片选信号
#define VS_XRESET PC6 //复位信号
#define VS_DREQ PC5 //数据请求
#define VS_XDCS PC4 //数据片选
#define SET_VS_XCS VS_POR |= (1<<VS_XCS)
#define CLR_VS_XCS VS_POR &= ~(1<<VS_XCS)
#define SET_VS_XRESET VS_POR |= (1<<VS_XRESET )
#define CLR_VS_XRESET VS_POR &= ~(1<<VS_XRESET)
#define SET_VS_DREQ VS_POR |= (1<<VS_DREQ )
#define CLR_VS_DREQ VS_POR &= ~(1<<VS_DREQ)
#define SET_VS_XDCS VS_POR |= (1<<VS_XDCS )
#define CLR_VS_XDCS VS_POR &= ~(1<<VS_XDCS)
//SPI引脚(默认 ATMEGA16 )
#define SPI_DDR DDRB
#define SPI_PORT PORTB
#define SPI_PIN PINB
#define SPI_SS PB4
#define SPI_MOSI PB5
#define SPI_MISO PB6
#define SPI_SCK PB7
extern void SPI_Low(void);
extern void SPI_High(void);
extern void SPI_Init(void);
extern uint8_t SPI_RW(uint8_t dat);
/*
//此IO定义与 振南的 袖珍SD卡MP3 相吻合
sbit VS_SO =P2^6; //串行数据输出,单片机从VS1003中读取数据
sbit VS_SI =P1^5; //串行数据输入,由单片机写入到VS1003
sbit VS_SCK =P1^7; //串行时钟,由单片机产生
sbit VS_XCS =P1^3; //片选信号
sbit VS_XRESET =P1^2; //复位信号
sbit VS_DREQ =P1^1; //数据请求
sbit VS_XDCS =P1^0; //数据片选
*/
extern void VS_Reset(); //VS1003软复位及初始化
extern void VS_Write_Reg(unsigned char addr,unsigned char hdat,unsigned char ldat); //向VS1003的功能寄存器写入一个字
extern unsigned int VS_Read_Reg(unsigned char addr); //从VS1003的功能寄存器读取一个字
extern void VS_Send_Dat(unsigned char dat); //向VS1003发送音频数据
extern void VS_Flush_Buffer(); //清空VS1003的数据缓冲区
extern void VS_sin_test(unsigned char x); //正弦测试
//void LoadPatch(); //为VS1003打补丁
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -