gaoyue000 发表于 2013-10-18 10:01:03

求大神帮忙 DIY MIDI 控制器

两个命令都是 NOTE OFF 求大神指点一下 程序发附件里了

极乐圣手 发表于 2013-10-27 02:27:19

看LZ的程序简直想死 怎么能写得这么乱七八糟啊!
或者你直接说什么问题吧!要控制什么的 机器响应的MIDI命令是什么! 看是否可以帮到你!

gaoyue000 发表于 2014-3-25 09:39:29

求大神赐教啊求帮忙~
void send(uchar cc,uchar kk,uchar vv)
{   
        TR1=1;      //开计数器//
        SBUF=cc;    //写入寄存器//
        while(TI==0); //等待发送结束//
        TI=0;      //清发送标志//
        SBUF=kk;
    while(TI==0);
        TI=0;
        SBUF=vv;
    while(TI==0);
        TI=0;
        TR1=0;
}

void main()
{
        init();//初始化
        anj0=1;//按键1给高电平
        while(1)
        {
                if(anj0==0)//判断按键1按下
                {
                        delay1ms(15);
                        if(anj0==0)//再次判断按键1是否按下
                        {
                               
                                while(!anj0);//等待按键释放
                                send(0xb0,0x07,0x38);//给串口发 cc,kk,vv
                        }       
                }
               
                       
        }
}

gaoyue000 发表于 2014-3-25 09:47:50

回复 2楼 极乐圣手 的帖子

void send(uchar cc,uchar kk,uchar vv)
{   
        TR1=1;      //开计数器//
        SBUF=cc;    //写入寄存器//
        while(TI==0); //等待发送结束//
        TI=0;      //清发送标志//
        SBUF=kk;
    while(TI==0);
        TI=0;
        SBUF=vv;
    while(TI==0);
        TI=0;
        TR1=0;
}

void main()
{
        init();//初始化
        anj0=1;//按键1给高电平
        while(1)
        {
                if(anj0==0)//判断按键1按下
                {
                        delay1ms(15);
                        if(anj0==0)//再次判断按键1是否按下
                        {
                               
                                while(!anj0);//等待按键释放
                                send(0xb0,0x07,0x38);//给串口发 cc,kk,vv
                        }       
                }
               
                       
        }
}
求大神帮我看看 拜托了

极乐圣手 发表于 2014-3-25 10:42:23

串口的设置贴出来看看!看用的是多少的晶振 串口要相应的设置达到MIDI协议的速率!
还有你写的程序要不怎么说乱呢 比如发送那里没必要写三次 而且你这样写发送也不灵活!
/*****************************************************************
功能:midi编码发送
输入:midicc
输出:无
*****************************************************************/
void Send_midicc(uchar *p)
{
   uchar i;
   TR1 =1;
   for(i=0;i<3;i++)
      {
         SBUF=*p;
         while(TI==0);
         TI = 0;
         p++;
      }
   TR1 =0;
}
或者这样:
/*****************************************************************
功能:发送
输入:数组
输出:无
*****************************************************************/
void Send(uchar *puchar n)
{
   uchar i;
   TR1 =1;
   for(i=0;i<n;i++)
      {
         SBUF=*p;
         while(TI==0);
         TI = 0;
         p++;
      }
   TR1 =0;
}

gaoyue000 发表于 2014-3-26 14:46:52

回复 5楼 极乐圣手 的帖子

多谢 大神 复制回去 研究一下~
页: [1]
查看完整版本: 求大神帮忙 DIY MIDI 控制器