AS3933 带时钟恢复的曼彻斯特解码
带时钟恢复的曼彻斯特解码:
CL_DAT 为曼彻斯特的时钟,在时钟的上升沿对应稳定的数据。
检测CL_DAT 的上升沿, 读取DAT数据。
读取一个字节数据:
for(i = 0;i < 8;i ++) //接收一个字节
{
count = 0;
while(!CL_DAT()) //CL_DAT低电平,等待高电平跳出while循环
{
count ++; //等待计时
Delay_US(1);
if(count > 1000) //等待超时 1ms
break;
}
LF_DataBuff[0] = LF_DataBuff[0] << 1; // DAT数据脚默认赋值0
if(DAT())
LF_DataBuff[0] = LF_DataBuff[0] | 0x01; //检测读取DAT脚数据, 若为高,数值赋1
count = 0;
while(CL_DAT()) //CL_DAT高电平,等待低电平跳出while循环
{
count ++;
Delay_US(1);
if(count > 1000) //等待超时 1ms
break;
}
}