向前辈们求教,关于SD卡读写和VS1003芯片
时间:10-02
整理:3721RD
点击:
本人刚升大二,想自己做个MP3,现在有个问题卡在这里,搞了几天都没进展,想在这里问一下
SD卡成功初始化,VS1003通过了正弦测试,以下这个程序顺利通过
可以得知SD卡可以成功读写扇区,但我MP3却不能播放音乐,程序如下
写过VS1003程序的前辈们求指点
SD卡成功初始化,VS1003通过了正弦测试,以下这个程序顺利通过
- unsigned char xdata dat[512];
- void main()
- {
- unsigned char k=1,j=1;
- int i;
- vs1003int();//初始化VS1003
- SD_Reset();//复位SD卡
- SDINT();//初始化SD卡
- for(i=0;i<512;i++)
- {
- dat[i]=i; //往dat[]装入数据
- }
- SD_Write_Sector(6901,dat);//往6901扇区写入dat[]
- for(i=0;i<512;i++)
- {
- dat[i]=0;//将dat全部装上0
- }
- SD_Read_Sector(6901,dat);//读回6901扇区,将数据写入dat[]
- while(1)
- {
- for(i=0;i<512;i++)
- {
- if(dat[i]==i) //检查是否成功读写
- {
- test();//执行这个函数之后耳机会发出声音
- }
- }
- }
- }
可以得知SD卡可以成功读写扇区,但我MP3却不能播放音乐,程序如下
- void main()
- {
- int i,k;
- unsigned long int time=0,temp,j;
- SD_Reset();
- SDINT();
- vs1003int();
- XDCS=0;
- for(j=755;j<3267;j++)
- {
- SD_Read_Sector(j,dat);
- for(k=0;k<16;k++)
- {
- for(i=0;i<32;i++)
- {
- DREQ=1;
- while(!DREQ);
- senddata(dat[time]);
- time++;
- }
- }
- }
- for(temp=0;temp<2048;temp++)
- {
- DREQ=1;
- while(!DREQ);
- senddata(0);
- }
- XDCS=1;
- }
写过VS1003程序的前辈们求指点
可以搜索一下 51DIYMP3 这些设计里面会有用到VS1053/1003参考一下别人的程序,应该就明白了