OpenEdv-开源电子网

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

战舰板上增加一个MP3播放的暂停按键

[复制链接]

16

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-8-19
在线时间
0 小时
发表于 2013-10-24 12:11:58 | 显示全部楼层 |阅读模式

请问,我设定了一个暂停按键在key.h

#define KEY4 PEin(5) //PE5

#define KEY_4  5

而在函数void mp3_play(void) 内增加

u8 pause=0;





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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-10-24 16:16:11 | 显示全部楼层
回复【楼主位】leona6799:
---------------------------------
楼主,你定义成了5,后面写成4,这什么意思?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2013-10-24 16:20:20 | 显示全部楼层
pause控制MP3数据么?
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

16

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-10-24 16:38:06 | 显示全部楼层

基本上,我就按照顺序下来...key.h红字是我自己加上去的)

#define KEY0 PEin(4)   //PE4
#define KEY1 PEin(3) //PE3 
#define KEY2 PEin(2) //PE2
#define KEY3 PAin(0) //PA0  
#define KEY4 PEin(5) //PE5

#define KEY_UP 4
#define KEY_LEFT 3
#define KEY_DOWN 2
#define KEY_RIGHT 1
#define KEY_4 5

是想把这个另外自订的按键当成pause


回复 支持 反对

使用道具 举报

16

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-10-24 16:47:30 | 显示全部楼层
回复【3楼】xiaoyan:
---------------------------------
是啊,我参考了实验56 战舰STM32开发板综合实验的例子,发现到要改的地方太多了,
加上我要求的功能只要可以暂停/播放是用同一个按键即可以达到目的.
回复 支持 反对

使用道具 举报

56

主题

167

帖子

4

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2013-10-18
在线时间
59 小时
发表于 2013-10-24 17:18:15 | 显示全部楼层
这个简单啊,我前几天刚完成,暂停功能
回复 支持 反对

使用道具 举报

16

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-10-24 17:38:26 | 显示全部楼层

To:钢铁侠

在函式u8 mp3_play_song(u8 *pname)

我希望能写成:



















这样也可以吗?



















mp3player.pdf

320.71 KB, 下载次数: 211

回复 支持 反对

使用道具 举报

16

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-10-25 15:38:26 | 显示全部楼层

...没人理我..?简单的问题也没人理我....

我以为把rval=0就可以变成暂停,但是我错了.....

                if(key==2) //上一曲

{

if(curindex)curindex--;

else curindex=totmp3num-1;

  }else if(key<=1)    //下一曲

{

curindex++;  

if(curindex>=totmp3num)curindex=0;//到末尾的时候,自动从头开始

}else if(key==0)   //暂停

{

pause=!pause;

  }else break; //产生了错误 

然后
    case KEY_RIGHT:

rval=1; //下一曲

break;

case KEY_LEFT:

rval=2; //上一曲

break;

case KEY_4: //暫停

rval=0;

break;


回复 支持 反对

使用道具 举报

16

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2013-10-27 20:43:15 | 显示全部楼层

只要在这个地方加上
if(VS_Send_MusicData(databuf+i)==0&&(pause==0))//给VS10XX发送音频数据

case KEY_4:

      pause=!pause; //暫停

      break;

就可以达到暂停播放的功能了...



回复 支持 反对

使用道具 举报

11

主题

125

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2012-6-21
在线时间
8 小时
发表于 2014-3-30 22:47:18 | 显示全部楼层
学习了!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-13 00:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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