2966|0

1517

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【GD32L233C-START测评】+触摸式MP3音乐播放器的实现 [复制链接]

本帖最后由 jinglixixi 于 2022-3-9 21:13 编辑

GD32L233C-START开发板与迪文智能屏相结合,能快速构建一个触摸式的MP3音乐播放器,其界面显示见图1所示。

图1 界面形式

在操作过程中,借助智能屏的触摸性能只需在歌曲的名称上轻轻一点即可。此外,由于一屏的显示内容有限,还提供触摸屏幕的上下两端来实现翻页处理,以通过更多的选择项。

在播放过程中,还可以使用屏上的2个绿色键来控制播放的暂停及恢复播放。而屏上2个红色的按键,则可以控制播放音量的大小调节。

在功能设计方面,主要使用了数据变量显示控件、基础触控控件及增量调节控件,其中数据变量显示控件是用于显示选择值,基础触控控件是用于页面切换及歌曲选择,增量调节控件用于音量调节,其设计界面见图2所示。

图2 设计界面

由于要区分选取歌曲的编号与调节音量值的差别,故设有2个变量地址来分别存放其变量值,其中地址0x1000用于存放选择的歌曲编号,而地址0x1002则用于存放音量调节值(0-32)。当触摸屏幕时,就会把相应的选择值通过串口发送出去,这就是智能屏的作用。

作为处理的核心GD32L233C-START开发板来讲,它的工作就是以串口来接收智能屏的信息,并将其转换为MP3语音模块所能接受的串口指令。

由于MP3语音模块所使用的串行通讯波特率是固定的9600bps,故智能屏和开发板的通讯波特率也一同被设置在9600bps上。

智能屏所发送的内容如图3所示,开发板的作用则是进行相应的处理和格式转换,以选取2号歌曲为例,其转换为MP3指令时如图4所示。

图3智能屏输出格式

图4 格式转换

在信息转换过程中,开发板是以中断方式来接收智能屏的输出,并以非中断的方式来发送MP3播放指令。

实现该功能的主程序为:

int main(void)
{
      int i;
      uint8_t n,m;
      systick_config();
      nvic_irq_enable(USART0_IRQn, 0);
      gd_eval_com_init(EVAL_COM);
      delay_1ms(200);
      setVolume(12);
      send_Volume ();
      delay_1ms(20);
      usart_interrupt_disable(USART0, USART_INT_TBE);
      while(1)
      {
          rx_counter=0;
          delay_1ms(10);
          usart_interrupt_enable(EVAL_COM, USART_INT_RBNE);
          while(rx_counter < nbr_data_to_read);
          n=rx_buffer[8];
          m=rx_buffer[5];
          if(m==2)
          {
                 setVolume(n);
                 send_Volume ();
          }
          else
          {
                 if(n<num)
                 {
                       playn(n);
                       send();
                 }
                 if(n== pause)
                 {
                       send_ pause ();
                 }
                 if(n== play)
                 {
                       send_ play ();
                 }
          }
          delay_1ms(200);
      }
}

经实际测试,其触控播放操作还是十分顺手和方便的。

触摸式MP3播放器功能演示:

此帖出自GD32 MCU论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表