Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 3314|回復: 3
打印 上一主題 下一主題

問題請教 設計一個溫度顯示器 HOLD住最高溫

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-3-1 20:44:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 aagnesb 於 2013-3-1 20:47 編輯

小弟程度不是很好 麻煩各位大哥提點一下

使用DS18B20溫度感測器 與 LCD_1602_I2C做為顯示螢幕
將當前溫度拆成整數與小數存入EEPROM中
並比較當前溫度與EEPROM的溫度 若當前溫度較高則更新EEPROM中的數據

判斷溫度部分的程式碼 麻煩大家幫我找看看問題在哪

  if (celsius > a)                                         //如果當前溫度(整數) > EEPROM中的最高溫(整數)
  
  {
     EEPROM.write(address, celsius);
    a = EEPROM.read(address);
    EEPROM.write(address2, celsius2);
    b = EEPROM.read(address2);
  }
  
  if (celsius = a && celsius2 > b)        //當前溫度(整數) = EEPROM中的最高溫(整數) AND當前溫度(小數) = EEPROM中的最高溫(小數)
  
  {

      EEPROM.write(address, celsius);
      a = EEPROM.read(address);
      EEPROM.write(address2, celsius2);
      b = EEPROM.read(address2);

  }

這樣寫的話 會有問題 如:當最高溫為26.55時  溫度若繼續下降至25.92  最高溫就會被刷掉為25.92
應該是if (celsius = a && celsius2 > b) 這邊的問題 但是不知道問題在哪 麻煩大家囉
2#
發表於 2013-3-5 23:37:08 | 只看該作者
從你的程式看不出問題耶。
3#
發表於 2013-3-31 11:40:26 | 只看該作者
你的if (celsius = a && celsius2 > b)
是不是該寫成if (celsius == a && celsius2 > b) ?
4#
 樓主| 發表於 2013-4-11 22:04:46 | 只看該作者
回復 3# alibuda174


沒錯 就是你說的那裡 感謝囉
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 17:50 , Processed in 0.147450 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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