OpenEdv-开源电子网

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

不用SD卡,应该如何实现向VS1053模块中传输MP3音频文件那?

[复制链接]

8

主题

182

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
422
金钱
422
注册时间
2017-3-8
在线时间
114 小时
发表于 2017-4-19 14:29:49 | 显示全部楼层 |阅读模式
10金钱
现在面临的问题想要不用SD卡,实现向VS1053模块中传输MP3音频文件,让vs1053播放音乐。用的是战舰V3。
自己写的代码如下:
void play_song(void)
{
                 u8 fmp3[4096];
                u8 data[32];
    u16 br;
                u8 res,rval;          
                u16 i=0;
                u16 key;
                VS_HD_Reset();
                VS_Soft_Reset();
       
                VS_Restart_Play();                                          //重启播放
                VS_Set_All();                                                //设置音量等信息                          
                VS_Reset_DecodeTime();
       
                VS_SPI_SpeedHigh();        //高速       
                for(key=0;key<73;key++)//文件存储在FLASH中,读73次每次读4096字节数据
                        {
                                W25QXX_Read(fmp3,0x000000+key*4096,4096);
                                i=0;
                //                for(br=0;br<256;br++)
                //                        {
                //                                printf("%x",fmp3[br]);
                //                        }
                                       
                                do
                                {
                                        strncpy((char *)data,(const char *)fmp3+i*32,32);//发送32个字节数据
                                        for(br=0;br<32;br++)
                                                {
                                                        printf("%x",fmp3[br]);
                                                }
                                        if(VS_Send_MusicData(fmp3)==0)//给VS10XX发送音频数据
                                                {
                                                                        i++;
                                                }
                                }
                                while(i<128);       
                        }               
}

没有达到播放音乐的效果,请大家一起帮忙看一下!

最佳答案

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

256字节不能说明问题,全部倒推过来。全部发送回来。 再看看。 256字节发送过去都不会发声的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-4-19 14:29:50 | 显示全部楼层
15937417823 发表于 2017-4-20 09:18
你好,原子哥。我是直接下载的MP3文件,可以正常播放的,然后直接通过串口传输给FLASH,传输大小跟MP3文 ...

256字节不能说明问题,全部倒推过来。全部发送回来。
再看看。
256字节发送过去都不会发声的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

8

主题

182

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
422
金钱
422
注册时间
2017-3-8
在线时间
114 小时
 楼主| 发表于 2017-4-19 14:30:15 | 显示全部楼层
请大家一起帮忙看一下!十分感谢!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-4-19 19:29:02 | 显示全部楼层
先确定你存储的数据是否正确。另外,不要在函数里面,定义这么大的数组,死翘翘的!!堆栈不够你折腾。用全局数组,或者内存管理。
回复

使用道具 举报

8

主题

182

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
422
金钱
422
注册时间
2017-3-8
在线时间
114 小时
 楼主| 发表于 2017-4-20 09:18:07 | 显示全部楼层
正点原子 发表于 2017-4-19 19:29
先确定你存储的数据是否正确。另外,不要在函数里面,定义这么大的数组,死翘翘的!!堆栈不够你折腾。用全 ...

你好,原子哥。我是直接下载的MP3文件,可以正常播放的,然后直接通过串口传输给FLASH,传输大小跟MP3文件大小一致;然后我从FLASH里读了256字节,再用VC打开MP3文件,两者是一样的。  数组这个我定义小一点,循环次数增加应该也可以的把?
回复

使用道具 举报

8

主题

182

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
422
金钱
422
注册时间
2017-3-8
在线时间
114 小时
 楼主| 发表于 2017-4-21 08:29:53 | 显示全部楼层
正点原子 发表于 2017-4-21 01:48
256字节不能说明问题,全部倒推过来。全部发送回来。
再看看。
256字节发送过去都不会发声的

原子哥说的有道理
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-21 23:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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