2418|3

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【CH579M-R1】+串行通讯及MP3模块的音乐播放 [复制链接]

 

CH579M 提供了4组独立的UART,利用好这种资源可使小小的MCU构建出一个功能强大的系统,

这里就用其中的一组来串行控制MP3播放模块。

由于该MP3播放模块所使用的波特率为9600bps ,所以在选取一个合适的串行通讯程序后,第一件要做的事情就是看它能否达到这个要求,别看这个要求不高,但有些芯片是就高不就低,是无法满足该要求的。

第2个要求是能实现字节数据的收发,只提供PRINT语句来输出的环境是不符合要求的,因为PRINT语句一遇到0X00,就会断掉而不发送。

第3是为发送的方便,应将MP3的指令存入数组种,然后通过发送函数一次性发出。

将MP3模块的指令按如下的形式存入数组中:

uint8_t cmd[]  = {0X7E, 0xFF, 0x06, 0X0D, 00, 00, 00, 0xFE, 0xEE, 0XEF};  //play

uint8_t cmd1[] = {0X7E, 0xFF, 0x06, 0X01, 00, 00, 00, 0xFE, 0xFA, 0XEF};   //next

uint8_t cmd2[] = {0X7E, 0xFF, 0x06, 0X02, 00, 00, 00, 0xFE, 0xF9, 0XEF};   //previous

uint8_t cmd3[] = {0X7E, 0xFF, 0x06, 0X03, 00, 00, 01, 0xFE, 0xF7, 0XEF};   //*play index

uint8_t cmd4[] = {0X7E, 0xFF, 0x06, 0X0E, 00, 00, 00, 0xFE, 0xED, 0XEF};   //pause

uint8_t cmd5[] = {0X7E, 0xFF, 0x06, 0X16, 00, 00, 00, 0xFE, 0xE5, 0XEF};   //stop

uint8_t cmd6[] = {0X7E, 0xFF, 0x06, 0X06, 00, 00, 10, 0xFE, 0xE5, 0XEF};   //*set  Volume

第4是通过输入来指定播放乐曲的编号,并生成相应的MP3控制指令,见图1所示。

图1 按选择来发送MP3指令

第5完成程序编写,其主程序如下:

int main()
{
    UINT8 len;
    GPIOA_SetBits(GPIO_Pin_9);
    GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);
    GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA);
    UART1_DefInit();
    mDelaymS( 500 );
    while(1)
    {
        len = UART1_RecvString(RxBuff);
        if( len )
        {
            n=RxBuff[0];
            playn(n);
            UART1_SendString( cmd3, sizeof(cmd3));
        }
    }
}

第6搭建播放系统,见图2所示。

图2 MP3播放装置构成

第7配置显示屏及选择按键,见图3所示。

第8编写程序并完成调试,其中K2:选歌 、K1:确认、K3:调音量。

其主程序的相应的内容为:

int main()
{
     UINT8 n=10,i;
     GPIOA_SetBits(GPIO_Pin_9);
     GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);
     GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA);
     UART1_DefInit();
     GPIOB_ModeCfg( GPIO_Pin_8, GPIO_ModeIN_PU );
     GPIOB_ModeCfg( GPIO_Pin_16, GPIO_ModeIN_PU );
     GPIOA_ModeCfg( GPIO_Pin_7, GPIO_ModeIN_PU );
     OLED_Init();
     OLED_Clear();
     OLED_ShowString(0,0,"CH579M  TEST",16);
     OLED_ShowString(0,2,"OLED_MP3 ",16);   
     mDelaymS(1000 );
     OLED_Clear();
     OLED_ShowCHinese(0,0,0);
     OLED_ShowCHinese(18,0,1); 
     OLED_ShowCHinese(36,0,2);
     while(1)
     {
          if(GPIOB_ReadPortPin(GPIO_Pin_16)==0)
          {
                  if(i<6)  i++;
                  else  i=1;
                  if(i==1)
                  {
                   OLED_Clear();
                   OLED_ShowCHinese(0,0,0);  //澎湖湾
                   OLED_ShowCHinese(18,0,1); 
                   OLED_ShowCHinese(36,0,2);
                  }
                   。。。
                  if(i==4)
                  {
                   OLED_Clear();
                   OLED_ShowCHinese(0,0,9);  //味道
                   OLED_ShowCHinese(18,0,10); 
                  }
                   。。。
                  if(GPIOA_ReadPortPin(GPIO_Pin_7)==0)
                  {
                   if(n<32) n=n+2;
                   else n=10;
                   setVolume(n);
                   UART1_SendString( cmd6, sizeof(cmd6));
                  }
                  mDelaymS(200 );
         }
     }
}

 

最新回复

沁恒CH579M-R1开发板测评 汇总贴:https://bbs.eeworld.com.cn/thread-1140005-1-1.html   详情 回复 发表于 2020-10-19 10:35
点赞 关注
 
 

回复
举报

7671

帖子

2

TA的资源

五彩晶圆(高级)

沙发
 

味道,可以可以,品味一样

点评

味道,品味一样,同道。  详情 回复 发表于 2020-10-12 00:23
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
freebsder 发表于 2020-10-11 21:31 味道,可以可以,品味一样

味道,品味一样,同道。

 
 
 

回复

1万

帖子

203

TA的资源

管理员

4
 

沁恒CH579M-R1开发板测评

汇总贴:https://bbs.eeworld.com.cn/thread-1140005-1-1.html

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表