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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

DS18B20.H(50): warning C206: 'ReadOneChar': missing function-prototype

[復制鏈接]
跳轉到指定樓層
樓主
ID:319320 發表于 2018-5-7 09:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void delay(uint i)
        {  while(i--);
        }
   void Init_DS18B20(void) //DS18B20初始化函數
   {  uchar x=0;
      DQ=1;                                   //DQ復位
          delay(8);                           //稍作延時
          DQ=0;                                   //將DQ拉低
          delay(80);
          DQ=1;                                   //拉高總線
          delay(14);
          x=DQ;                                   //如果x=0則初始化成功,x=1初始化失敗
          delay(20);
        }
        uchar ReadOneCharl(void)
        {  uchar i=0;
           uchar dat=0;
           for(i=8;i>0;i--)
           {  DQ=0;                           //給脈沖信號
              dat >>=1;
                  DQ=1;                           //給脈沖信號
                  if(DQ)
                  dat|=0x80;
                  delay(4);
                }
                return(dat);
        }
  void WriteOneChar(uchar dat)
  {  uchar i=0;
     for(i=8;i>0;i--)
     {  DQ=0;
        DQ=dat&0x01;
              delay(5);
            DQ=1;
            dat>>=1;
          }
  }
  void ReadTemp(void)
  {  uchar a=0;
     uchar b=0;
         uchar t=0;
         Init_DS18B20();
         WriteOneChar(0xCC);          //跳過讀序號列號的操作
         WriteOneChar(0x44);          //啟動溫度轉換
         delay(100);
         Init_DS18B20();
         WriteOneChar(0xCC);          //跳過讀序號列號的操作
         WriteOneChar(0xBE);          //讀取溫度寄存器
         delay(100);
         a=ReadOneChar();                  //讀取溫度值低位
         b=ReadOneChar();                  //讀取溫度值高位
         temp_value=b<<4;
         temp_value+=(a&0xf0)>>4;
   }
   void tmp_to_str()                  //溫度數據轉換為液晶字符顯示
   {  TempBuffer[0]=temp_value/10+'0';                //十位
      TempBuffer[1]=temp_value%10+'0';                //個位
          TempBuffer[2]=0xdf;                                        //溫度符號
          TempBuffer[3]='C';
          TempBuffer[4]='\0';
        }


評分

參與人數 1黑幣 +5 收起 理由
1261280117 + 5 淡定

查看全部評分

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

使用道具 舉報

沙發
ID:266943 發表于 2018-5-9 16:16 | 只看該作者
這個也是沒聲明函數,在main函數前面聲明一下
回復

使用道具 舉報

板凳
ID:747812 發表于 2020-5-11 19:06 | 只看該作者
出來逛逛 發表于 2018-5-9 16:16
這個也是沒聲明函數,在main函數前面聲明一下

怎么聲明
回復

使用道具 舉報

地板
ID:266943 發表于 2020-5-12 15:11 | 只看該作者

我又看了一下,樓主把uchar ReadOneCharl(void)這個函數名寫錯了,多個l。
一般找不到函數原型很可能是把函數定義在了函數調用之后或者定義在了其他文件中,這種情況要在函數調用前面對函數進行聲明。
比如:
uchar ReadOneChar();//函數聲明(沒有這個函數聲明,在調用函數時會報錯missing function-prototype)
void main(void)
{
    char a;
    a=ReadOneChar();//函數調用
//.........
}
char ReadOneChar(void)//函數定義
{
//.................函數體
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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