AS3933 带时钟恢复的曼彻斯特解码

 

带时钟恢复的曼彻斯特解码:

CL_DAT 为曼彻斯特的时钟,在时钟的上升沿对应稳定的数据。

 

 

AS3933 带时钟恢复的曼彻斯特解码

 

检测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;										
	}								
}