我把原子哥的MP3例程移植到3.5库函数中,去掉其中的字库部分,下载SD卡和FAT初始化都成功了,但是存储器检测 VS_Ram_Test() 时不成功,程序死在了该函数里 VS_WR_Cmd(SPI_MODE,0x0820) 中
的 SPIx_ReadWriteByte(VS_WRITE_COMMAND)函数中,SPI不能和VS1003的寄存器通信,搞了几天没解决。关于GPIO的设置,SPI口的初始化在SD实验中应用是成功的,PA5、PA6、PA7设置为 复用推挽输
出,PA4、PA8、PA11设置为 推挽输出,PA12设置为 上拉输入,其他的分频值不变。 但是就是写不了命令进VS1003中。我用的是原子哥的板子和MP3模块。
void VS_WR_Cmd(u8 address,u16 data)
{
while(VS_DQ==0);//等待空闲
SPIx_SetSpeed(SPI_SPEED_64);//低速
VS_XDCS_Set; //MP3_DATA_CS=1;
VS_XCS_Clr; //MP3_CMD_CS=0;
SPIx_ReadWriteByte(VS_WRITE_COMMAND);//发送VS10XX的写命令 程序运行停在于该行,发送不了命令。
SPIx_ReadWriteByte(address); //地址
SPIx_ReadWriteByte(data>>8); //发送高八位
SPIx_ReadWriteByte(data); //第八位
VS_XCS_Set; //MP3_CMD_CS=1;
SPIx_SetSpeed(SPI_SPEED_8);//高速
}
求高手帮忙解决下,谢谢。我可能犯的是低级错误,就是找不出!
以下附上程序。
|