OpenEdv-开源电子网

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

MP3模块vs1053测试失败

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-1-20
在线时间
3 小时
发表于 2012-2-19 17:51:40 | 显示全部楼层 |阅读模式

u16 VS_Ram_Test(void)
{  
 u16 RAM_Read;  
 VS_HD_Reset();
 //VS_Soft_Reset(); //加入软件复位
  VS_WR_Cmd(SPI_MODE,0x0820);  // 进入VS10XX的RAM测试模式
 printf("mode:%x\n",VS_RD_Reg(SPI_MODE));在这里可以正确打印出寄存器SPI _MODE的值为0x820
 while (VS_DQ==0);     // 等待DREQ为高   

 SPI2_SetSpeed(SPI_SPEED_256);   //256分频速度    
 //SPI2_SetSpeed(SPI_SPEED_128);         //修改分频速度
 //VS_XCS_H;  
 VS_XDCS_L;        //开数据传输      
 SPI2_ReadWriteByte(0x4d);
 SPI2_ReadWriteByte(0xea);
 SPI2_ReadWriteByte(0x6d);
 SPI2_ReadWriteByte(0x54);
 SPI2_ReadWriteByte(0x00);
 SPI2_ReadWriteByte(0x00);
 SPI2_ReadWriteByte(0x00);
 SPI2_ReadWriteByte(0x00);
 VS_XDCS_H;      
 Delayms(200);
 RAM_Read=VS_RD_Reg(SPI_HDAT0);
 //如果得到的值为0x83FF,则表明完好。   
 printf("SPI_HDAT0:%x\n",RAM_Read);//输出结果 、、、、、、、、、、这里的结果总是0,进行正弦测试也只能听见很小的嘟的一下
 return RAM_Read;



u8 SPI2_ReadWriteByte(u8 TxData)
{  
// u8 retry=0;    
 while((SPI2->SR&1<<1)==0);//等待发送区空 
// {
//  retry++;
//  if(retry>200)return 0;
// }    
 SPI2->DR=TxData;     //发送一个byte
// retry=0;
 while((SPI2->SR&1<<0)==0); //等待接收完一个byte 
// {
//  retry++;
//  if(retry>200)return 0;
// }            
 return SPI2->DR;          //返回收到的数据       
}   


spi2我已经通过sd卡测试好,而且既然能写进去寄存器说明spi是没有问题的,可为什么送数据会出问题?还是模块的硬件出了问题 ?用原子的mp3程序跑下来能听见耳机了断断续续的杂音,我怀疑是送数据出问题了,可是什么原因导致送数据出错呢?

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-2-19 19:24:54 | 显示全部楼层
是不是SPI设置不正常?频率太高?
或者DREQ检测不正常?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2012-1-20
在线时间
3 小时
 楼主| 发表于 2012-2-20 17:42:31 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
实在查不出原因了!各个spi的分频速度都试过了!所有寄存器都可以正确读写验证!但就是RAM测试,正弦测试通不过?发送数据之前是不是必须要运行下面启动spi发送,这点我也反复试了!可是关于这点很疑惑啊,为什么要这样呢?在数据手册中没有找到发数据前必须要先发四个无效字节的描述啊?
VS_XDCS_L; //选中数据传输 记得,这里一定要传送0X00
SPI2_ReadWriteByte(0X00);
SPI2_ReadWriteByte(0X00);
SPI2_ReadWriteByte(0X00);
SPI2_ReadWriteByte(0X00);
VS_XDCS_H; //取消数据传输
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-2-20 18:16:43 | 显示全部楼层
回复【3楼】mingpassion:
---------------------------------
这里和你的问题,应该没啥关系了.
接我们开发板试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2012-5-15
在线时间
0 小时
发表于 2012-9-10 14:05:54 | 显示全部楼层
楼主,请问你的问题解决了吗?我现在的问题也和你一样
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2012-5-15
在线时间
0 小时
发表于 2012-9-10 15:46:52 | 显示全部楼层
解决了,是GPIO0和GPIO1都要接地。
回复 支持 反对

使用道具 举报

30

主题

210

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2012-11-22
在线时间
12 小时
发表于 2012-11-22 14:35:55 | 显示全部楼层
回复【6楼】zfiw:
---------------------------------
顶一下
VLSI?大陆区一级授权代理商,提供技术支持,QQ839638158?VS1003?VS1053?VS1063?VS1011?VS1005?VS1205?VS1103?VS1033?VS8005?VS8053?VS1000?VS23S010?VS1163?开发板,淘宝店铺http://shop105947990.taobao.com/?QQ2355355257
回复 支持 反对

使用道具 举报

4

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2012-9-5
在线时间
0 小时
发表于 2013-1-14 17:44:22 | 显示全部楼层
回复【6楼】zfiw:
解决了,是GPIO0和GPIO1都要接地。
---------------------------------
哪里的GPIO0和GPIO1??
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2012-9-13
在线时间
0 小时
发表于 2013-4-7 21:32:31 | 显示全部楼层
回复【6楼】zfiw:
---------------------------------
楼主,怎么GPIO0和GPIO1接地啊?是哪个???麻烦告诉下,好吗?
?坚持.............
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2013-2-22
在线时间
0 小时
发表于 2013-4-10 00:06:39 | 显示全部楼层
1003上的GPIO0和GPIO1,其他没用到的GPIO最好也用电阻拉到电源或者地,CMOS。。。
回复 支持 反对

使用道具 举报

43

主题

152

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-8-11
在线时间
57 小时
发表于 2016-8-17 15:22:15 | 显示全部楼层
为什么的那个mode读出来是FFFF,ram测试读出来的也是FFFF
回复 支持 反对

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
199
金钱
199
注册时间
2014-4-19
在线时间
41 小时
发表于 2016-9-19 11:23:46 | 显示全部楼层
miss_lion 发表于 2016-8-17 15:22
为什么的那个mode读出来是FFFF,ram测试读出来的也是FFFF

不知道楼主解决了没有,我也是遇到了这个问题,读出来都是FFFF@正点原子
新手的路还很长
回复 支持 反对

使用道具 举报

43

主题

152

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-8-11
在线时间
57 小时
发表于 2016-9-19 18:19:21 | 显示全部楼层
脚叔 发表于 2016-9-19 11:23
不知道楼主解决了没有,我也是遇到了这个问题,读出来都是FFFF@正点原子

有可能是芯片挂了
回复 支持 反对

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2016-9-19 19:44:57 | 显示全部楼层
miss_lion 发表于 2016-8-17 15:22
为什么的那个mode读出来是FFFF,ram测试读出来的也是FFFF

mode读出来应该是0x4800
我是可以什么都不说 ,但不可以什么都不做。
回复 支持 反对

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1526
金钱
1526
注册时间
2016-7-20
在线时间
155 小时
发表于 2016-9-22 09:19:32 | 显示全部楼层
miss_lion 发表于 2016-8-17 15:22
为什么的那个mode读出来是FFFF,ram测试读出来的也是FFFF

我用NUC505做Master的时候就是读出来FFFF,最后找到原因了,是SPI没有配置好。
我是可以什么都不说 ,但不可以什么都不做。
回复 支持 反对

使用道具 举报

4

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
199
金钱
199
注册时间
2014-4-19
在线时间
41 小时
发表于 2016-10-24 15:31:38 | 显示全部楼层
super910906 发表于 2016-9-22 09:19
我用NUC505做Master的时候就是读出来FFFF,最后找到原因了,是SPI没有配置好。

对,我也找到了是这个原因,弄出来就忘记来更新了,注意一下32对VS1053中SPI的速度设置。
新手的路还很长
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 06:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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