买琴买鼓,就找魔菇!

 找回密码
 注册
搜索
查看: 2021|回复: 5

求大神帮忙 DIY MIDI 控制器

[复制链接]
发表于 2013-10-18 10:01:03 | 显示全部楼层 |阅读模式
吉他中国微信公众号
两个命令都是 NOTE OFF 求大神指点一下 程序发附件里了
QQ图片20131018095933.jpg

程序.rar

1.45 KB, 下载次数: 4, 下载积分: 金钱 5

发表于 2013-10-27 02:27:19 | 显示全部楼层
吉他中国抖音
看LZ的程序简直想死 怎么能写得这么乱七八糟啊!
或者你直接说什么问题吧!要控制什么的 机器响应的MIDI命令是什么! 看是否可以帮到你!
 楼主| 发表于 2014-3-25 09:39:29 | 显示全部楼层
GC视频号
求大神赐教啊  求帮忙~
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 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 *p  uchar n)
{
     uchar i;
     TR1 =1;
     for(i=0;i<n;i++)
        {
         SBUF=*p;
         while(TI==0);
         TI = 0;  
         p++;
        }
     TR1 =0;
}
 楼主| 发表于 2014-3-26 14:46:52 | 显示全部楼层

回复 5楼 极乐圣手 的帖子

多谢 大神 复制回去 研究一下~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|吉他中国官方

GMT+8, 2025-2-27 21:53

Powered by Discuz!

© 2001-2024 Discuz! Team.

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