OpenEdv-开源电子网

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

求助 MP3例程中VS1003的存储器测试不成功

[复制链接]

4

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2011-7-24
在线时间
0 小时
发表于 2012-2-3 01:34:15 | 显示全部楼层 |阅读模式

     我把原子哥的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);//高速   
}

求高手帮忙解决下,谢谢。我可能犯的是低级错误,就是找不出!

以下附上程序。

MP3Player.rar

5.44 MB, 下载次数: 820

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-3 09:22:51 | 显示全部楼层
回复【楼主位】lymck:
---------------------------------
执行进去看看到底是怎么死了?
你这个明显是SPI设置错了,导致SPI发送不成功进入死循环等待.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2011-7-24
在线时间
0 小时
 楼主| 发表于 2012-2-3 09:49:52 | 显示全部楼层
我的SPI1(PA5、PA6、PA7)配置用在SD卡实验可以用,然后直接用这个SPI读写VS1003就不行了。目前我检查了GPIOA口的设置和
分频,还是找不出问题所在。用在读写VS1003上的SPI有什么特殊的设置吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-3 10:01:29 | 显示全部楼层
没有特殊设置,你这个是发送一个命令,然后导致死机,自己跳到 SPIx_ReadWriteByte看看死在哪里就清楚了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

9

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2011-7-24
在线时间
0 小时
 楼主| 发表于 2012-2-3 11:19:03 | 显示全部楼层
谢谢原子哥的指点,可以正常用SPI了,先前认为SPI能用在SD卡实验中初始化成功就是没问题了,后来发现SPIx_ReadWriteByte里有
个while后面多了个分号,悲剧。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2012-10-12
在线时间
0 小时
发表于 2012-10-12 10:59:26 | 显示全部楼层
我司是芬兰VLSI大陆区代理,代理VLSI系列解码芯片:VS1000/VS1103/VS1011/VS1003/VS1033/VS1053/VS1063/VS8053,VLSI专注于高品质的音频解码领域。此款产品用于互联网广播、互联网收音机、汽车音响、交通灯、便携式立体声、移动电话、语音提款机、电梯、电视机、婴儿监视器、音响设备、玩具等方面。  如有需要请跟我联系  王立青
本公司热销STM32F103 LPC21XX L9177TR LM317 ADI MAXIM TI 二三极管 稳压器 功放管等 有需要可以跟我联系 联系人:王立青 电话:13267231725 QQ:292335090
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-1-24
在线时间
0 小时
发表于 2013-2-14 18:23:12 | 显示全部楼层
顶顶,厉害
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-2 16:31:40 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子大哥 我用了你的代码 板子也是你们的 解码模块是VS1003  现在无法播放音乐  偶尔能播放出来(很少) 播放时间和歌曲时间波特率都不出现  我单步调试发现每次读的波特率都是0    SPIx_ReadWriteByte()读出来的值都是0  这是怎么回事 求教
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-3 10:16:47 | 显示全部楼层
回复【8楼】Iris:
---------------------------------
把SPI速度调低点试试。VS1003速度不能太快。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-3 17:41:15 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
我调小了 还是不行  还有其他什么可能吗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-3 21:04:38 | 显示全部楼层
那就怪了,你MP3模块什么时候买的?
旺旺联系下我们吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-6 10:06:37 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
因为我的解码模块不是你们的 但是板子的确是正点原子的  他不愿意替我解答问题
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-6 10:54:27 | 显示全部楼层
哦,用我们这里的代码试试:http://www.openedv.com/posts/list/3195.htm
虽然是1053的,但是兼容1003,很久以前我们也做过1003模块,不过现在不做了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-6 17:16:48 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
谢谢了  这个代码我也有  可以播放歌曲的  但是没有界面  我用的是你们有界面的程序
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-7 17:10:59 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
原子哥还想请教你一个问题,我将keil4的代码移植到keil3.8里面,中断出现了这个问题:
TEST.axf: Error: L6218E: Undefined symbol NVIC_PriorityGroupConfig (referred from test.o).
TEST.axf: Error: L6218E: Undefined symbol NVIC_SetVectorTable (referred from test.o).
keil3.8的库文件中stm32f10x_lib.h下的stm32f10x_nvic.h包含这两个中断设置啊  为什么不识别呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-7 18:09:48 | 显示全部楼层
回复【15楼】Iris:
---------------------------------
这是库函数代码,你得包含所用的库文件。才可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-7 20:21:40 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
谢谢原子哥  已经解决了
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-8 09:55:42 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
原子哥,界面上四个矩形中频谱、循环能显示,列表和音效显示不出来(矩形框里面的汉字显示不出来,矩形框出的来)是什么原因啊? 
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-8 10:36:12 | 显示全部楼层
回复【18楼】Iris:
---------------------------------
这个我就不知道了,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2013-5-2
在线时间
0 小时
发表于 2013-5-8 15:56:10 | 显示全部楼层
回复【19楼】正点原子:
 ---------------------------------
原子哥 问题又来了 f_open(&lst,"0:/playlist.lst",FA_READ)这个函数打开不成功是怎么回事?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-8 17:29:25 | 显示全部楼层
根据返回值,判断问题原因。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-20 09:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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