微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 向前辈们求教,关于SD卡读写和VS1003芯片

向前辈们求教,关于SD卡读写和VS1003芯片

时间:10-02 整理:3721RD 点击:
本人刚升大二,想自己做个MP3,现在有个问题卡在这里,搞了几天都没进展,想在这里问一下
SD卡成功初始化,VS1003通过了正弦测试,以下这个程序顺利通过

  1. unsigned char xdata dat[512];
  2. void main()
  3. {
  4.         unsigned char k=1,j=1;
  5.         int i;
  6.         vs1003int();//初始化VS1003
  7.         SD_Reset();//复位SD卡
  8.         SDINT();//初始化SD卡
  9.         for(i=0;i<512;i++)
  10.         {
  11.                 dat[i]=i; //往dat[]装入数据
  12.         }
  13.         SD_Write_Sector(6901,dat);//往6901扇区写入dat[]
  14.         for(i=0;i<512;i++)
  15.         {
  16.                 dat[i]=0;//将dat全部装上0
  17.         }
  18.         SD_Read_Sector(6901,dat);//读回6901扇区,将数据写入dat[]
  19.         while(1)
  20.         {
  21.                 for(i=0;i<512;i++)
  22.                 {
  23.                         if(dat[i]==i) //检查是否成功读写
  24.                         {
  25.                                 test();//执行这个函数之后耳机会发出声音
  26.                         }       
  27.                 }

  28.         }                 
  29. }

复制代码


可以得知SD卡可以成功读写扇区,但我MP3却不能播放音乐,程序如下

  1. void main()
  2. {
  3.         int i,k;
  4.         unsigned long int time=0,temp,j;        
  5.         SD_Reset();
  6.         SDINT();
  7.         vs1003int();
  8.         XDCS=0;
  9.         for(j=755;j<3267;j++)
  10.         {
  11.                 SD_Read_Sector(j,dat);
  12.                 for(k=0;k<16;k++)
  13.                 {                       
  14.                         for(i=0;i<32;i++)
  15.                         {
  16.                                 DREQ=1;
  17.                                 while(!DREQ);
  18.                                 senddata(dat[time]);
  19.                                 time++;
  20.                         }
  21.                 }
  22.         }
  23.         for(temp=0;temp<2048;temp++)
  24.         {
  25.                 DREQ=1;
  26.                 while(!DREQ);
  27.                 senddata(0);
  28.         }
  29.         XDCS=1;       
  30. }

复制代码


写过VS1003程序的前辈们求指点

可以搜索一下 51DIYMP3 这些设计里面会有用到VS1053/1003参考一下别人的程序,应该就明白了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top