OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4507|回复: 4

FAT读取MP3文件,串口发送,不成功,请大神指点!!

[复制链接]

5

主题

6

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-7-29
在线时间
0 小时
发表于 2014-7-29 17:09:13 | 显示全部楼层 |阅读模式
5金钱
if (f_opendir(&dirs, path) == FR_OK) 
  {
    while (f_readdir(&dirs, &finfo) == FR_OK)  
    {
           if (finfo.fattrib & AM_ARC) 
             {
                   if(!finfo.fname[0]) 
                   break;         
                   printf("\n\r file name is: %s\n",finfo.fname);
                   printf("\n\r file size is: %d ", finfo.fsize); 
                   printf("\n\r 文件内容:\n\r"); 
                   if(File_type_Check( (u8 *)finfo.fname, "mp3"))//改为txt
                           { 
                                 res = f_open(&fsrc, finfo.fname, FA_OPEN_EXISTING | FA_READ);
                                 i=0;
                                 f_lseek(&fsrc,0);
                                 BufferSet(buf1, 0, 256);

                                 do
                                  {
                                           res=f_lseek(&fsrc,256*i);
                                           res=f_read(&fsrc,buf1,256,&br);
                                           printf("%s", buf1);
                                           i++;
                                  }
                                while(i< (finfo.fsize/256));

                               f_lseek(&fsrc,256*i);
                               BufferSet(buf1, 0, 256);
                  f_read(&fsrc,buf1,(finfo.fsize%256),&br);
                 if((finfo.fsize%256) !=0)
                  printf("%s", buf1);

                               f_close(&fsrc);                      
                         }  
         }
    else
      {
        printf("\n\r Path name is: %s", finfo.fname); 
        continue;
      }
    } 
 }
为什么我用以上这段程序读TXT没问题,读MP3文件500多K ,才读出100多K,什么原因?

最佳答案

查看完整内容[请看2#楼]

回复【3楼】小达人: --------------------------------- 好的,那我加你Q
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

6

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2014-7-29
在线时间
0 小时
 楼主| 发表于 2014-7-29 17:09:14 | 显示全部楼层
回复【3楼】小达人:
---------------------------------
好的,那我加你Q
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-29 17:09:14 | 显示全部楼层
MP3数据不是ASCII。
不能用printf %s的方式来发送,只能用写dr寄存器的方式。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-5-20
在线时间
2 小时
发表于 2014-7-29 17:43:30 | 显示全部楼层
你串口是什么方式发送的,最好一次读写不超过512字节。FATFS的的文件结构注册一些缓存,也就512字节大小。读多了当然会丢失。

还有一点,楼主的程序可以整理下,看的清爽点,方便别人阅读,程序是给别人看的。嘿嘿
回复

使用道具 举报

6

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-5-20
在线时间
2 小时
发表于 2014-7-29 17:45:29 | 显示全部楼层
本帖最后由 小达人 于 2019-12-12 12:00 编辑

我也刚弄过FATFS,成功将GPS数据存放到SD卡中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-4 15:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表