📄 新建 文本文档.txt
字号:
unsigned long decode(void) //无线解码
{
unsigned long DATA; //记录数据
unsigned char count,i; //暂时计数
DATA=0; //
if(!RFBIT) goto end;
for (count=0;count<24;count++) //开始收集
{
/*测量高电平宽度*/
i=0; //宽度计数
while (RFBIT) //高位计数
{
NOPS; //
i++; //计数增加
// if (i>192) goto end; //限时解码
}
return i;
/*分辨出电平高低*/
DATA*=2; //数据左移
if (i<64) //分辨高低
{
if (!((56>i)&(i>20))) goto end; //电平合法
DATA+=0; //记低电平
}
else
{
if (!((200>i)&(i>72))) goto end; //电平合法
DATA+=1; //记高电平
}
/*测量低电平宽度*/
while (!(RFBIT) ) //低位计数
{
NOPS; //
i++; //计数增加
// if (i>224) goto end; //限时解码
}
/*低电平是否过窄*/
//if (i<96) goto end; //对比宽度
}
/*解码成功返结果*/
return DATA; //成功返回
/*有误码结束解码*/
end:
return 0; //误码结束
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -