久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4002|回復: 1
打印 上一主題 下一主題
收起左側

18b20搜索rom

[復制鏈接]
跳轉到指定樓層
樓主
ID:43404 發表于 2012-7-29 18:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
18b20的搜索rom的 搜索算法  可是我的源碼和補碼都是1    這是怎么回事

 

 

uint m=0,n=0;
 uint r1=0,r2=0;
 uint l=0;//棧長度
 uchar stack_node_pos[5]={0}; //保存最后差異值位置 與棧頂值比較
 uint node_pos=0; //產生差異值時的位置
 uchar rom[64]={0};//一次搜索中的位數
 uint s=0;
 uint num_18b20;
 l=0;
 num_18b20=0;   //搜索前清0器件數目
// DS18B20_Rst();
// DS18B20_Check();  
// DS18B20_Write_Byte(0x55);// 發送 rom 匹配
 do
 { 
  Reset();
  //DS18B20_Check();
  write_byte(0xf0);

  for(m=0;m<8;m++)
  { s=0;
   for(n=0;n<8;n++)
   { 
    s>>=1;
    r1=read_bit1();//當前位
    f=1-r1;
    r2=read_bit1();//補碼
    g=1-r2;
   // h[m][n]=r1;
    if(r1==0&&r2==1)
    { 
      write_bit(0);
         rom[(m*8+n)]=0;
    }
    else
    if(r1==1&&r2==0)
    { 
     s=s|0x80;
     write_bit(1);
     rom[(m*8+n)]=1;
    }
    else
    if(r1==0&&r2==0)  //有多個從機產生了差異值
    {     
      
      node_pos=m*8+n+1;  //記錄產生差異值的位置
      //差異值與最后一次差異值位置比較
      if(node_pos>stack_node_pos[l]) //新路徑 新的差異值
     {      
      write_bit(0);       //選擇發送0
      rom[(m*8+n)]=0;       //記錄        
      stack_node_pos[++l]=node_pos;  //記錄新的差異值位置      
     }
     else if(node_pos<stack_node_pos[l]) //老路徑
     {
      s=s|((rom[(m*8+n)]&0x01)<<7); //發送保存上一次的位
      write_bit(rom[(m*8+n)]);
     }
     else if(node_pos==stack_node_pos[l]) //最后一次差異值的位置
     {            //最后一次分叉選擇 發1 刪除改棧
      s=s|0x80;
      write_bit(1);
      rom[(m*8+n)]=1;
      l=l-1;        //從棧里刪除該值
     }
    }
    else 
    { //無從機連接 退出返回0
     return 0;
    }
   }
   ROM_ID[num_18b20][m]=s;       //循環8次保存一字節
  }
  num_18b20=num_18b20+1; 
 }while(stack_node_pos[l]!=0&&num_18b20<4);  
   return 1;
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:43404 發表于 2012-7-29 23:12 | 只看該作者
怎么沒人討論啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区久久 | 精品国产乱码久久久久久丨区2区 | 日本一区二区三区视频在线 | 中文成人在线 | 五月天激情综合网 | 天天草av| 国产欧美日韩在线观看 | 亚洲va在线va天堂va狼色在线 | 精品国产乱码久久久久久蜜柚 | 亚洲国产精品99久久久久久久久 | 伊人网综合在线 | 国产精品高潮呻吟久久 | 在线观看国产视频 | 国产激情视频网站 | 亚洲 欧美 日韩 在线 | 天天草天天干 | 91高清视频在线观看 | 久久久久久久久久久久91 | 黄色骚片 | av在线播放网站 | 久久久久久久久久久一区二区 | 成人免费xxxxx在线视频 | 久久精品中文字幕 | 中文成人无字幕乱码精品 | 日韩www | 日本爱爱视频 | 亚洲天堂一区二区 | 在线欧美一区 | 欧美精品网站 | 青春草91| 成人免费福利 | 精品一区二区三区在线观看 | 成人在线一区二区 | 国产精品视频一区二区三区 | 中文字幕在线播放不卡 | 亚洲精品中文字幕在线观看 | 狠狠干美女 | 天天综合国产 | 精久久久 | 日本不卡免费新一二三区 | 一区二区久久 |