找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2118|回复: 2
打印 上一主题 下一主题
收起左侧

单片机串口通信更新音乐数组的问题?

[复制链接]
跳转到指定楼层
楼主
ID:129083 发表于 2017-4-14 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我通过串口向单片机发送数组,然后存储在单片机数组内,在通过音乐播放程序调用该数组进行播放但出现有些时候音乐发生不正常,有时候又发声正常,请问这是什么原因。(歌曲播放过程中有写段是好的有些段播放不正确)
  1.         if(W==0&&biaozhi==1)//数据接收完毕可以播放该歌曲
  2.                 {  
  3.                         T=W;
  4.                         write_com(0x81);
  5.                          write_zfc("shishangzhiyou");
  6.                         write_com(0xc4);
  7.                          write_zfc("mamahao");
  8.                 for(i=0;i<80;i=i+3)
  9.                     {         //音乐数组长度 ,唱完从头再来
  10.                         
  11.                
  12.                     k=table[i]+7*table[i+1]-1;//去音符振荡频率所需数据//table数组用于存放串口数据
  13.                     Timer0_H=FREQH[k];
  14.                     Timer0_L=FREQL[k];
  15.                     Time=table[i+2];          //节拍时长
  16.                    // i=i+3;
  17.                     Song();
  18.                                 if(T!=W)
  19.                                         break;
  20.                 }
  21.                 }
  22.                 else
  23.                 {
  24.                         W=1;
  25.                 }
复制代码


这是我用来播放通信歌曲的程序段,哪位大神帮忙看看,为什么会这样
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:189542 发表于 2017-4-14 14:52 | 只看该作者
#include<reg51.h> #include<string.h> #define addr 0x02//从机2的地址 #define _SUCC_ 0x0f//数据传送成功 #define _ERR_ 0xf0//数据传送失败 unsigned char aa=0xff;//主机与从机之间通信标志 unsigned char Buff[20];//数据缓冲区 //串口初始化函数 void serial_init() { TMOD=0x20; //定时器1工作于方式2 TH1=0xfd; TL1=0xfd; //波特率为9600 PCON=0; SCON=0xd0; //串口工作于方式3 TR1=1; //开启定时器 TI=0; RI=0; } //接收数据函数 unsigned char RECE_data(unsigned char *Buff) { unsigned char i,temp; unsigned char lenth; unsigned char check; RI=0; //接收数据长度 while(!RI); if(RB8==1) //若接收到地址帧,则返回0xfe return 0xfe; lenth=SBUF; RI=0; check=lenth; for(i=0;i<lenth;i++) //接收数据
回复

使用道具 举报

板凳
ID:129083 发表于 2017-4-16 08:40 | 只看该作者
XIN_XIN 发表于 2017-4-14 14:52
#include #include #define addr 0x02//从机2的地址 #define _SUCC_ 0x0f//数据传送成功 #define _ERR_ 0xf ...

不懂…………
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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