欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

       找回密碼
       立即注冊

      QQ登錄

      只需一步,快速開始

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

      DS1302為什么讀不出來?

      [復制鏈接]
      跳轉到指定樓層
      樓主
      ID:79908 發表于 2015-5-28 19:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      unsigned char Read_DS1302(unsigned char addr)
      {
                 unsigned char i,temp,date;
              temp = addr;
              RST = 0;
              delay(1);
              RST = 1;
              SCLK = 1;
              for(i=8;i>0;i--)
              {
                      IO = temp&0x01;//先寫低位       
                      SCLK = 0;     //上升沿有效
                      _nop_()        ;
                      SCLK = 1; //為下一個數據的輸入做準備
                      temp = temp>>1;       
              }
              SCLK = 0;
              for(i=8;i>0;i--)
              {
                      date |= (unsigned char)IO;
                      SCLK = 1;
                      _nop_();
                      SCLK = 0;
                      date = date<<1;                       
              }
              RST = 0;
              SCLK = 0;
              return date/16*10+date%16;  //返回調整好的16進制數
      }

      程序邏輯有問題嗎?

      分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
      收藏收藏 分享淘帖 頂 踩
      回復

      使用道具 舉報

      沙發
      ID:81084 發表于 2015-5-28 19:45 | 只看該作者
      好像是上升沿才是寫地址啊。

      評分

      參與人數 1黑幣 +35 收起 理由
      admin + 35 回帖助人的獎勵!

      查看全部評分

      回復

      使用道具 舉報

      板凳
      ID:79908 發表于 2015-5-28 20:21 | 只看該作者
      wthdyfg2004 發表于 2015-5-28 19:45
      好像是上升沿才是寫地址啊。

      我的第一個for就是寫地址,用的是上升沿,這樣寫有什么問題嗎?
      回復

      使用道具 舉報

      地板
      ID:1 發表于 2015-5-28 20:28 | 只看該作者
      你現在這個程序讀出來的內容是什么?
      回復

      使用道具 舉報

      5#
      ID:79908 發表于 2015-5-28 20:35 | 只看該作者
      admin 發表于 2015-5-28 20:28
      你現在這個程序讀出來的內容是什么?

      讀秒、分、時 都是02
      回復

      使用道具 舉報

      6#
      ID:79908 發表于 2015-5-31 11:39 | 只看該作者
      1. unsigned char Read_DS1302(unsigned char addr)
      2. {
      3.            unsigned char i,temp,date;
      4.         temp = addr;
      5.         RST = 0;
      6.         SCLK = 0;
      7.         _nop_();
      8.         _nop_();
      9.         RST = 1;
      10.         for(i=8;i>0;i--)
      11.         {
      12.                 DIO= (bit)(temp&0x01);//先寫低位       
      13.                 SCLK = 0;
      14.                 _nop_();
      15.                 _nop_();     
      16.                 temp>>=1;
      17.                 SCLK = 1;      //上升沿 把數據送入
      18.                 _nop_();
      19.                 _nop_();       
      20.         }
      21.         SCLK = 0;
      22.         _nop_();
      23.         _nop_();
      24.         for(i=8;i>0;i--)
      25.         {
      26.                 date |= (unsigned char)DIO;
      27.                 SCLK = 1;
      28.                 _nop_();
      29.                 _nop_();
      30.                 date<<=1;        //左移 先讀低位       
      31.                 SCLK = 0;
      32.                 _nop_();
      33.                 _nop_();       
      34.         }
      35.         SCLK = 0;
      36.         _nop_();
      37.         _nop_();
      38.         RST = 0;
      39.         return ((date&0x70)>>4)+(date&0x0f);  
      40. }

      41. 這個能讀出數據,有時并不是程序問題,而是硬件電路問題
      復制代碼

      評分

      參與人數 1黑幣 +35 收起 理由
      admin + 35 回帖助人的獎勵!

      查看全部評分

      回復

      使用道具 舉報

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

      本版積分規則

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

      Powered by 單片機教程網

      快速回復 返回頂部 返回列表