打印

帮忙看个红外发送的程序有什么错误,谢谢

[复制链接]
1863|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一生电子|  楼主 | 2010-2-5 20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
tv, TE, code, rc, IO
void sendheadtoktv(void)
{
   
        KTV_IO_1;
        Delay1ms(9);
        KTV_IO_0;
        Delay1ms(4);
        Delay10us(50);
}
void sendhight(void)
{
   
        KTV_IO_1;
        Delay10us(56);
        KTV_IO_0;
        Delay10us(68);
        Delay1ms(1);
}

void sendlow(void)
{
       
        KTV_IO_1;
        Delay10us(56);
        KTV_IO_0;
        Delay10us(56);
       
}
void Ircode_to_ktv(BYTE g_ucIrCode)
{
       BYTE ktv_ircode,tempdata,i;
          putstr("\r\nircode_to_ktv");
                        
                              sendheadtoktv();    //引导码
                 tempdata=0xff;    //用户码
                for(i=0;i<8;i++)
                {
                        if(tempdata&0x01)
                                sendhight();
                        else
                                sendlow();
                        tempdata=tempdata>>1;
                }


               tempdata=0x00;  //用户反码
                for(i=0;i<8;i++)
                {
                        if(tempdata&0x01)
                                sendhight();
                        else
                                sendlow();
                        tempdata=tempdata>>1;
                }

                tempdata=g_ucIrCode;    //数据码
                for(i=0;i<8;i++)
                {
                        if(tempdata&0x01)
                                sendhight();
                        else
                                sendlow();
                        tempdata=tempdata>>1;
                }

                                 tempdata=~g_ucIrCode;
                for(i=0;i<8;i++)
                {
                        if(tempdata&0x01)
                                sendhight();
                        else
                                sendlow();
                tempdata=tempdata>>1;
                }
               
}

相关帖子

沙发
lfjwfm| | 2010-2-5 22:50 | 只看该作者
不知道运行的结果,好坏怎么判断?不过一个函数里面调用另外一个函数,是需要时间的,像红外遥控发码,最好在一个函数里面完成,不然精确性始终有些问题。

使用特权

评论回复
板凳
lsqdesign| | 2010-2-6 10:07 | 只看该作者
自己拿个示波器来调比较靠谱,另外红外发射要产生38K的载波用C语言层层调用不如用汇编好控制准确的时间。

使用特权

评论回复
地板
xinjie1023| | 2010-5-19 21:49 | 只看该作者
标记

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

0

粉丝