我现在正在做一个格力空调发射程序,但是遇到一个难点,,就是格力的红外编码是起始码+35位+连接码+32位,我自己写的程序发射到自己的单片机串口通信显示只显示了前面一部分,连接码后都没有显示,感觉是连接码出现问题,求各位大佬指点一波!
下面是发射代码
endcount = 223; //设定中断次数,发送引导码9ms 38K红外光
flag = 1; //红外发送标志=1
count = 0; //中断计数=0
TR0 = 1; //启动定时器0
while(count < endcount);
TR0 = 0; //关闭定时器0
endcount = 117; //设定中断次数,发送引导码4.5ms低电平
flag = 0; //红外发送标志
count = 0; //中断计数
TR0 = 1; //启动定时器0
while(count < endcount);
TR0 = 0; //关闭定时器0
ircode = array[0]; //发送前1-8位
send_8bit();
ircode = array[1]; //发送前9-16位
send_8bit();
ircode = array[2]; //发送前17-24位
send_8bit();
ircode = array[3]; //发送前25-32位
send_8bit();
ircode = array[4];
//发送前33-35位
send_3bit();
/*endcount = low; //发送0.56ms 38k红外波
flag = 0; //红外发送标志=1
count = 0; //中断计数=0
TR0 = 1; //启动定时器0
while(count<endcount);
TR0 = 0; //关闭定时器0 */
ir=0;
delay610us();*/
ir = 1; //红外发射管控制脚低
delay20ms() ;
//延时20ms低电平
// ir=0;
ircode = array[5]; //发送后1-8位
send_8bit();
ircode = array[6]; //发送后9-16位
send_8bit();
ircode = array[7]; //发送后17-24位
send_8bit();
ircode = array[8]; //发送后25-32位
send_8bit();
|