打印
[AVR单片机]

[转]PT2262解码

[复制链接]
2391|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
suoma|  楼主 | 2010-4-24 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了下pt2262的手册,明白了协议,用TCNT0来测量脉冲宽度
LCD1602来显示,获得编码后,再利用发射电路发射出去
BOOL PT2262_Read(void)
{
UCHAR temp = 0, timer;
ULONG DATA = 0;
for(temp=0;temp<24;temp++)
{
TCNT0 = 0;
while(IrInput)
{
if(TCNT0>MaxWide) goto end;
}
timer = TCNT0;
while(!IrInput)
{
if(TCNT0>(MaxWide+MaxNarr)) goto end;//if(TCNT0 > 112) goto end;
}
if(TCNT0<MinWide)  
{
goto end;
}
DATA <<= 1;
if(timer<MaxNarr)
{
if(!((timer<MaxNarr)&(timer>MinNarr))) goto end;
DATA += 0;
}
else
{
if(!((timer<MaxWide)&(timer>MinWide))) goto end;
DATA += 1;
}
}
if(DATA&0x1) LED(1);
else LED(0);
for(temp=0;temp<12;temp++)
{
if((DATA & 0xC00000)==0)
{
IrCode[temp] = '0';
}
else if((DATA & 0xC00000)==0xC00000)
{
IrCode[temp] = '1';
}
else if((DATA & 0xC00000)==0x400000)
{
IrCode[temp] = 'F';
}
else  
{
IrCode[temp] = 'E';
}
DATA<<=2;
}
return 1;
end:
return 0;
}//接受代码

相关帖子

沙发
huamunv| | 2010-4-24 23:16 | 只看该作者
那一堆括号看得人不知道哪是哪了

使用特权

评论回复
板凳
zwll| | 2010-4-25 20:35 | 只看该作者
还好吧

使用特权

评论回复
地板
god_like| | 2010-4-25 21:27 | 只看该作者
这个程序不是很规范

使用特权

评论回复
5
wangwo| | 2010-4-25 23:22 | 只看该作者
恩,用意楼上说法

使用特权

评论回复
6
thf2008| | 2010-4-25 23:33 | 只看该作者
程序格式还不错的啦

使用特权

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

本版积分规则

82

主题

714

帖子

5

粉丝