新建 文本文档.txt

来自「自己调试通过的无线解码程序!支持各种无线传感器」· 文本 代码 · 共 59 行

TXT
59
字号
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 + =
减小字号Ctrl + -
显示快捷键?