求大神帮忙 DIY MIDI 控制器
两个命令都是 NOTE OFF 求大神指点一下 程序发附件里了 看LZ的程序简直想死 怎么能写得这么乱七八糟啊!或者你直接说什么问题吧!要控制什么的 机器响应的MIDI命令是什么! 看是否可以帮到你! 求大神赐教啊求帮忙~
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
}
}
}
}
回复 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
}
}
}
}
求大神帮我看看 拜托了 串口的设置贴出来看看!看用的是多少的晶振 串口要相应的设置达到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;
}
回复 5楼 极乐圣手 的帖子
多谢 大神 复制回去 研究一下~
页:
[1]