📄 vs1003.h
字号:
/*********************************************************
+-----------------------------------------+
| VS1003模块 |
+-----------------------------------------+
使用UART1串口SPI模式控制SD卡存储 端口选择 P5.4=/xCS,
P5.5=/xDCS ,P5.3=SCLK,P5.2=SO,P5.1=SI,P5.6=DREQ ,
P5.0=/xRESET
vs1003的底层驱动程序,主控芯片为msp340-149;
其他的微处理器(带SPI接口的)只需稍加修改即可适用;
->产品咨询 QQ:461693690
MSN:ly461693690@hotmail.com
说明:VS1003模块 通过测试,确保其正确性与稳定性,请放心使用,
***********************************************************/
#ifndef VS10XX_H
#define VS10XX_H
/* Include processor definition */
#include <msp430x14x.h>
//vs1003相关宏定义
#define VS_WRITE_COMMAND 0x02 //写命令
#define VS_READ_COMMAND 0x03 //读命令
#define SPI_MODE 0x00 //控制模式
#define SPI_STATUS 0x01 //VS1003 状态
#define SPI_BASS 0x02 //内置高/低音增强器
#define SPI_CLOCKF 0x03 //时钟频率 + 倍频数
#define SPI_DECODE_TIME 0x04 //每秒解码次数
#define SPI_AUDATA 0x05 //音频数据
#define SPI_WRAM 0x06 //RAM 读写
#define SPI_WRAMADDR 0x07 //RAM 读写地址
#define SPI_HDAT0 0x08 //流头数据0
#define SPI_HDAT1 0x09 //流头数据1
#define SPI_AIADDR 0x0A //应用程序起始地址
#define SPI_VOL 0x0B //音量控制
#define SPI_AICTRL0 0x0C //应用控制寄存器0
#define SPI_AICTRL1 0x0D //应用控制寄存器1
#define SPI_AICTRL2 0x0E //应用控制寄存器2
#define SPI_AICTRL3 0x0F //应用控制寄存器3
//msp430-149与vs1003的接口定义
/*
I/O NAME
P5.4 /xCS
P5.5 /xDCS
P5.3 SCLK
P5.2 SO
P5.1 SI
P5.6 DREQ
P5.0 /xRESET
*/
#define MP3_XRESET ( 1 << 0)
#define Mp3PutInReset() { P5OUT &= ~MP3_XRESET; } //xReset = 0
#define Mp3ReleaseFromReset() { P5OUT |= MP3_XRESET; }//xReset = 1
#define MP3_XCS ( 1 << 4)
#define Mp3SelectControl() {P5OUT &= ~MP3_XCS; }//xCS = 0
#define Mp3DeselectControl() {P5OUT |= MP3_XCS; }//xCS = 1
#define MP3_XDCS ( 1 << 5 )
#define Mp3SelectData() { P5OUT &= ~MP3_XDCS; }//xDCS = 0
#define Mp3DeselectData() { P5OUT |= MP3_XDCS; }//xDCS = 1
#define MP3_DREQ ( 1 << 6 )
void VS_Reset(); //VS1003软复位及初始化
void VS_Write_Reg(unsigned char addr,unsigned char hdat,unsigned char ldat); //向VS1003的功能寄存器写入一个字
unsigned int VS_Read_Reg(unsigned char addr); //从VS1003的功能寄存器读取一个字
void VS_Send_Dat(unsigned char dat); //向VS1003发送音频数据
void VS_Flush_Buffer(); //清空VS1003的数据缓冲区
void VS_sin_test(unsigned char x); //正弦测试
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -