⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vs1003.h

📁 VS1003_MP3_SPI_SDHC_FAT32
💻 H
字号:
/**********************  vs1003相关的头文件**************/

#include "stm32l1xx.h"


//vs1003相关宏定义 寄存器 
#define VS_WRITE_COMMAND 0x02
#define VS_READ_COMMAND 0x03
#define SPI_MODE        0x0   
#define SPI_STATUS      0x1   
#define SPI_BASS        0x2   
#define SPI_CLOCKF      0x3   
#define SPI_DECODE_TIME 0x4   
#define SPI_AUDATA      0x5   
#define SPI_WRAM        0x6   
#define SPI_WRAMADDR    0x7   
#define SPI_HDAT0       0x8   
#define SPI_HDAT1       0x9   
#define SPI_AIADDR      0xa   
#define SPI_VOL         0xb   
#define SPI_AICTRL0     0xc   
#define SPI_AICTRL1     0xd   
#define SPI_AICTRL2     0xe   
#define SPI_AICTRL3     0xf   

//vs1003相关宏定义 接口
#define VS_RESET GPIO_Pin_0			                           // PA
#define VS_SO GPIO_Pin_14									   // PB
#define VS_SI GPIO_Pin_15									   // PB
#define VS_SCK GPIO_Pin_13									   // PB
#define VS_DERQ GPIO_Pin_1									   // PA
#define VS_XCS GPIO_Pin_2									   // PA
#define VS_XDCS GPIO_Pin_3				                       // PA

#define VS_RESET_SET()  GPIO_SetBits(GPIOA, VS_RESET)	       //RESET = 1
#define VS_RESET_RESET()  GPIO_ResetBits(GPIOA, VS_RESET)      //RESET = 0
#define VS_SO_SET() GPIO_SetBits(GPIOA, VS_SO)	               //SO = 1
#define VS_SO_RESET() GPIO_ResetBits(GPIOA, VS_SO)	           //SO = 0
#define VS_SI_SET()  GPIO_SetBits(GPIOA, VS_SI)	               //SI = 1
#define VS_SI_RESET() GPIO_ResetBits(GPIOA, VS_SI)             //SI = 0
#define VS_SCK_SET()   GPIO_SetBits(GPIOA, VS_SCK)             // SCK = 1
#define VS_SCK_RESET()   GPIO_ResetBits(GPIOA, VS_SCK)         // SCK = 0
#define VS_DERQ_SET()  GPIO_SetBits(GPIOA, VS_DERQ)            //DERQ = 1  
#define VS_DERQ_RESET()  GPIO_ResetBits(GPIOA, VS_DERQ)        //DERQ = 0
#define VS_XCS_SET() GPIO_SetBits(GPIOA, VS_XCS)               //XCS = 1			 
#define VS_XCS_RESET() GPIO_ResetBits(GPIOA, VS_XCS)           //XCS = 0
#define VS_XDCS_SET() GPIO_SetBits(GPIOA, VS_XDCS)             //XDCS = 1			 
#define VS_XDCS_RESET() GPIO_ResetBits(GPIOA, VS_XDCS)         //XDCS = 0

#define VS_SO_STATUS()  GPIO_ReadInputDataBit(GPIOA,VS_SO) 	   //get SO status
#define VS_DERQ_STATUS() GPIO_ReadInputDataBit(GPIOA,VS_DERQ)    //get DERQ status


void SPI_write_byte(uint8_t ch)	                     	   ;  //SPI 写字符
uint8_t SPI_read_byte(void)	                          	   ;  //SPI 读字符
void VS_write_reg(uint8_t add,uint8_t h_dat,uint8_t l_dat) ;  //写寄存器
uint16_t VS_read_reg(uint8_t add)		                   ;  //读寄存器 返回16位值
void VS_reset(void)							               ;  //VS 硬件复位 软件复位
void VS_init(void)                                         ;  //VS复位, 先硬件复位和再软件复位,进行相关寄存器配置
void VS_write_data(uint8_t ch)							   ;  //写入数据
void VS_sine_test(void)									   ;  //正弦测试
void VS_mp3_play(void)						   ;  //播放MP3文件


void delay_ms(uint32_t time)                			   ;  //毫秒延时
void delay_us(uint32_t time)							   ;  //微秒延时






















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -