亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? i2c.c

?? 簡(jiǎn)易風(fēng)盤控器程序 AVR GCC MEGA8
?? C
字號(hào):
/**************** (c) 2005   佛山菱電 *****************************************
PROJECT  : 簡(jiǎn)易風(fēng)盤控制器
COMPILER : AVR ICC for m48
MODULE   : i2c.c
VERSION  : 1.0.0
DATE     : 2005/12/12
AUTHOR   : 朱坤
DESCRIPTION :   EEPROM AT24C02 routine

MODIFICATIONS :
******************************************************************************/
#include <avr/io.h>
#include <avr/wdt.h>
#include "lib.h"
#include "version.h"

#include "ports.h"
#include "main.h"
#include "timer.h"
#include "fan.h"
#include "i2c.h"

#ifdef EnEEPROM

u8 EEPTm;      /* EEPROM 刷新時(shí)間間隔 20mS on 4mS */
u8 EEPCnt;     /* 參數(shù)序號(hào),參數(shù)地址 * 2 */
u8 EEPBuf0;    /* 緩沖區(qū) */
u8 EEPBuf1;    /* 緩沖區(qū) */

/*-----------------------------------------------------------------------------
ROUTINE NAME : SaveToEEPROM
INPUT/OUTPUT :
   EEPCnt: 參數(shù)代號(hào),每個(gè)參數(shù)在 EEPROM 中占 2 個(gè)字節(jié),因此,參數(shù)在 EEPROM
           中的地址為:EEPcnt*2
   EEPBuf: 緩沖區(qū)指針,存放待寫的參數(shù)值

   EEPTm:  刷新時(shí)間間隔 20mS on 4mS

   EEPIDMAX: 參數(shù)個(gè)數(shù)

DESCRIPTION:
   在給定的時(shí)間間隔內(nèi),不停的刷新 EEPROM 中的參數(shù)

COMMENTS :
; 掉電記憶保存的內(nèi)容(共9項(xiàng))
; - 標(biāo)示字節(jié)  5D
; - 內(nèi)機(jī)配置字節(jié) SysConfig
; - 設(shè)定溫度     SetupTp
; - 內(nèi)機(jī)工作模式 RunMode
; - 內(nèi)機(jī)風(fēng)機(jī)風(fēng)速 FanStatus
; - 擺風(fēng)狀態(tài)     FDoorUnit
; - 內(nèi)機(jī)功率     PowerConst
; - 制熱時(shí)內(nèi)機(jī)補(bǔ)償溫度  SetOffset
; - 內(nèi)機(jī)ID              NeijiNo
-----------------------------------------------------------------------------*/
void SaveToEEPROM(void)
{
   u8 i;

   if (EEPTm++ >= 100){
      EEPTm = 0;                     /* 清除間隔 */

      if (++EEPCnt >= EEPIDMAX) EEPCnt = 0;
      switch (EEPCnt){             /* 對(duì)參數(shù)進(jìn)行處理 */
        case 0:
          i = 0x5D;               /* 標(biāo)示字節(jié) 5D */
          break;
        case 1:
          i = SysConfig;          /* 內(nèi)機(jī)配置字節(jié)*/
          break;
        case 2:
          i = SetupTp;            /* 設(shè)定溫度(0x00-0F) */
          break;
        case 3:
          i = RunMode;            /* 開關(guān)機(jī)標(biāo)志,內(nèi)機(jī)工作模式 */
          break;
        case 4:
          i = FanStatus;          /* 內(nèi)風(fēng)機(jī)風(fēng)速 */
          break;
        case 5:
#ifdef EnSWING
          i = FDoorUnit;          /* 掃風(fēng)模式 */
#else
          i = 0;
#endif
          break;
        case 7:
#ifdef  ChigoXG1
#ifndef ChigoXG1Set
          i = SetOffset;          /* 制熱時(shí)內(nèi)機(jī)補(bǔ)償溫度 */
#else
          i = ChigoXG1Set;
#endif
#else
          i = 0x80;
#endif
          break;
        case 8:
          i = NeijiNo;            /* 內(nèi)機(jī)ID  */
          break;
        default:
		  i = 0;
		  break;
	  }

      EEPBuf0 = EEPROMReadByte((u16)(EEPCnt << 1));
      EEPBuf1 = EEPROMReadByte((u16)((EEPCnt << 1) + 1));
      if ((i != EEPBuf0) || (i != EEPBuf1)){
        EEPROMWriteByte((u16)(EEPCnt << 1), i);     /* 刷新 */
        EEPROMWriteByte((u16)(EEPCnt << 1) + 1, i);
      }
   }
}

void EEPROMWriteByte(u16 uiAddress, u8 ucData);
{
  wdt_reset();            /* 刷新看門狗 */
  /* Wait for completion of previous write */
  while(EECR & (1<<EEPE));

  /* 等待 SPM 完成 */
  while (SPMCSR & (1<<SELFPRGEN));

  /* Set up address and Data Registers */
  EEAR = uiAddress;
  EEDR = ucData;
  cli();               /* 禁止中斷 */
  EECR |= (1<<EEMPE);  /* Write logical one to EEMPE */
  EECR |= (1<<EEPE);   /* Start eeprom write by setting EEPE */
  sei();
}

void EEPROMReadByte(u16 uiAddress);
{
  wdt_reset();            /* 刷新看門狗 */
  /* Wait for completion of previous write */
  while(EECR & (1<<EEPE));
  /* 等待 SPM 完成 */
  while (SPMCSR & (1<<SELFPRGEN));

  EEAR = uiAddress;  /* Set up address register */
  EECR |= (1<<EERE); /* Start eeprom read by writing EERE */
  return EEDR;       /* Return data from Data Register */
}
#endif

void GetFromEEPROM(void)
{
   //SPMCSR = 0x00;     /* 禁止 SPM 中斷 */

   SysConfig = (u8)(1 << fEnMemo);
   RunMode   = (u8)((1 << fLtdSwOn)|MODEAUTO);
   FanStatus = FANAUTO_S;
#ifdef EnSWING
   FDoorUnit = SWINGAUTO;
#endif
   SetupTp = (u8)(0x80 + 24);   /* 設(shè)置缺省值 24 */
   NeijiNo = 1;                 /* 缺省 1# */

#ifdef  ChigoXG1
#ifndef ChigoXG1Set
   SetOffset = ChigoXG1Val;
#endif
#endif

#ifdef EnEEPROM
   EEPCnt = 0;
   while (EEPCnt < EEPIDMAX){
     EEPBuf0 = EEPROMReadByte((u16)(EEPCnt << 1));
     EEPBuf1 = EEPROMReadByte((u16)((EEPCnt << 1) + 1));
     if (EEPBuf0 == EEPBuf1){
       if (EEPBuf0 == 0x0FF){       /* 測(cè)試是否初始化 */
         EEPCnt = EEPIDMAX;
       }
       switch(EEPCnt){                /* 對(duì)參數(shù)進(jìn)行處理 */
         case 0:
         if (EEPBuf0 != 0x5D) EEPCnt = EEPIDMAX;
           break;
         case 1:
           if ((u8)(EEPBuf0 & ~SYSCONMASK) == 0){
             SysConfig = EEPBuf0;   /* 內(nèi)機(jī)配置字節(jié) */
           }
           break;
         case 2:                      /* 設(shè)定溫度 */
           SetupTp = (u8)(((EEPBuf0<SetupTpMIN) ||
                           (EEPBuf0>SetupTpMAX)) ? 0x98 : EEPBuf0);
           break;
         case 3:                             /* 開關(guān)機(jī)標(biāo)志,內(nèi)機(jī)工作模式 */
           if (ValBit(SysConfig,fEnMemo)){   /* 1: 允許掉電記憶 */
              RunMode = (u8)(EEPBuf0 & ((1<<fSysOnOff)|(1<<fLtdSwOn)|MODEMASK));
              SetBit(Sysflag,fSysInit);      /* 1:系統(tǒng)初始化標(biāo)志 */
           } else {
             RunMode = (u8)(EEPBuf0 & ((1<<fLtdSwOn)|MODEMASK));
           }
           break;
         case 4:
           FanStatus = (u8)(EEPBuf0 & FANMASK_S); /* 內(nèi)風(fēng)機(jī)風(fēng)速 */
           break;
         case 5:
#ifdef EnSWING
           FDoorUnit = (u8)(EEPBuf0 & SWINGMASK); /* 掃風(fēng)模式 */
#endif
           break;
//         case 6:
//           if (EEPBuf0 != 0) PowerConst = EEPBuf0; /* 內(nèi)機(jī)功率 */
//           break;
         case 7:                                /* 制熱時(shí)內(nèi)機(jī)補(bǔ)償溫度 */
#ifdef  ChigoXG1
#ifndef ChigoXG1Set
           SetOffset = (u8)(((EEPBuf0 < 118) ||
                             (EEPBuf0 > 138)) ? ChigoXG1Val : EEPBuf0);
#endif
#endif
           break;
         case 8:
           NeijiNo = (u8)((((u8)(EEPBuf0 & NJNOMASK) < 1) ||
                           ((u8)(EEPBuf0 & NJNOMASK) > 14)) ? 1 : EEPBuf0);

           break;
         default:
           break;
       }
     }
     EEPCnt++;       /* 下一個(gè)參數(shù) */
   }
#endif
}

/*** (c) 2005  佛山菱電 **************************** END OF FILE *************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产亚洲欧美成人综合网| 欧美日韩卡一卡二| 麻豆精品精品国产自在97香蕉| 国产精品久久久久久久午夜片| 777午夜精品免费视频| 91视视频在线直接观看在线看网页在线看| 五月综合激情婷婷六月色窝| 国产精品美女久久久久久久久 | 欧美一卡二卡三卡| 色综合久久综合网97色综合| 国产老妇另类xxxxx| 婷婷中文字幕综合| 夜夜精品浪潮av一区二区三区 | 日韩vs国产vs欧美| 一区二区三区在线免费视频| 国产精品乱码妇女bbbb| 精品国产伦理网| 91精品午夜视频| 在线精品视频一区二区| 91小视频免费看| 国产成人精品在线看| 紧缚捆绑精品一区二区| 免费av成人在线| 午夜精品久久久久久久99水蜜桃| 亚洲欧美偷拍三级| 自拍偷拍欧美激情| 国产精品久久久久久久蜜臀| 欧美激情艳妇裸体舞| 国产欧美精品日韩区二区麻豆天美| 日韩欧美亚洲国产精品字幕久久久| 欧美肥大bbwbbw高潮| 欧美精品欧美精品系列| 欧美老人xxxx18| 制服.丝袜.亚洲.另类.中文 | 制服丝袜日韩国产| 欧美高清视频一二三区 | 久久女同性恋中文字幕| 精品三级在线看| 久久伊人中文字幕| 久久久三级国产网站| 国产欧美日韩久久| 亚洲天堂成人网| 亚洲一区视频在线观看视频| 亚洲午夜久久久久久久久电影院 | 国产精品夜夜嗨| 成人av在线播放网站| 波多野结衣在线aⅴ中文字幕不卡| 丰满白嫩尤物一区二区| 成人午夜激情片| 色综合视频在线观看| 欧美日韩激情一区二区三区| 欧美精品色综合| 26uuu另类欧美| 欧美激情一区二区三区在线| 亚洲欧美一区二区三区久本道91| 亚洲伊人伊色伊影伊综合网 | 99综合电影在线视频| 在线一区二区三区四区五区| 8v天堂国产在线一区二区| 精品国产百合女同互慰| 国产精品另类一区| 亚洲大片精品永久免费| 激情欧美日韩一区二区| 成人激情校园春色| 欧美日韩高清一区| 久久久久9999亚洲精品| 日韩理论电影院| 日韩精品国产欧美| 国产成人免费视频| 欧美日韩一级黄| 久久夜色精品国产噜噜av| 亚洲人成小说网站色在线| 日韩电影在线观看网站| 成人免费观看av| 欧美一区二区三区在线电影| 亚洲国产高清aⅴ视频| 午夜精品久久久久久久| 国产69精品久久99不卡| 欧美精品丝袜久久久中文字幕| 国产网站一区二区| 亚洲二区在线观看| 国产成人av电影免费在线观看| 欧美在线观看18| 久久久一区二区| 香蕉成人啪国产精品视频综合网| 国产精品一区一区| 欧美日韩精品一区视频| 国产精品国产三级国产有无不卡 | 亚洲成人高清在线| 国产成人在线免费| 欧美一级二级在线观看| 日韩久久一区二区| 国产乱码精品一区二区三区五月婷| 日本韩国一区二区三区| 国产午夜三级一区二区三| 香港成人在线视频| 91免费看视频| 久久精品亚洲精品国产欧美kt∨| 日韩影院精彩在线| 在线观看国产91| 国产精品高潮久久久久无| 国产一区二区三区高清播放| 欧美精品视频www在线观看| 亚洲欧美偷拍卡通变态| 盗摄精品av一区二区三区| 日韩精品一区二区三区老鸭窝| 亚洲精品视频在线观看免费| 国产高清精品久久久久| 日韩一级片网址| 亚洲国产综合色| 日本高清不卡视频| 国产精品传媒入口麻豆| 国产精品99久久不卡二区| 91精品国产欧美日韩| 五月婷婷欧美视频| 在线免费观看不卡av| 亚洲免费观看高清完整版在线观看| 成人性视频免费网站| xnxx国产精品| 奇米888四色在线精品| 欧美日韩在线综合| 亚洲影视在线播放| 欧美性高清videossexo| 一区二区三区国产精品| 91国产丝袜在线播放| 一区二区三区四区在线| 色88888久久久久久影院野外| 综合欧美亚洲日本| 一本大道久久a久久综合婷婷 | 久久99精品久久久久久久久久久久| 欧美日韩国产另类一区| 亚洲va韩国va欧美va精品| 欧美又粗又大又爽| 五月婷婷久久综合| 在线播放一区二区三区| 日本少妇一区二区| 精品久久一二三区| 国模无码大尺度一区二区三区| 久久综合色播五月| 高清不卡一二三区| 亚洲欧美一区二区三区国产精品| 91免费版pro下载短视频| 亚洲一二三四在线| 欧美欧美欧美欧美首页| 日本不卡123| 久久久久久久久一| 成人激情午夜影院| 亚洲激情图片一区| 欧美猛男超大videosgay| 久久精品国产成人一区二区三区 | 亚洲柠檬福利资源导航| 91久久香蕉国产日韩欧美9色| 亚洲国产美女搞黄色| 日韩一区二区高清| 国产精品一区二区三区网站| 中文字幕免费在线观看视频一区| 91热门视频在线观看| 日日摸夜夜添夜夜添精品视频 | 国产亚洲美州欧州综合国| 不卡视频一二三| 亚洲综合免费观看高清完整版在线 | 久久亚洲欧美国产精品乐播| 成人黄色av电影| 亚洲h动漫在线| 久久久精品人体av艺术| 91热门视频在线观看| 天堂午夜影视日韩欧美一区二区| 久久老女人爱爱| 色婷婷狠狠综合| 激情综合亚洲精品| 中文字幕字幕中文在线中不卡视频| 欧美日韩二区三区| 高清国产一区二区三区| 午夜不卡av免费| 欧美国产一区在线| 91麻豆精品久久久久蜜臀| 成人国产精品免费网站| 免费人成黄页网站在线一区二区| 国产欧美日韩视频一区二区| 欧美日高清视频| 成人国产精品免费观看动漫| 亚洲成人av电影| 亚洲欧洲一区二区三区| 精品日韩在线观看| 在线观看亚洲一区| 成人综合日日夜夜| 美女一区二区视频| 亚洲男人都懂的| 久久综合色婷婷| 91精品婷婷国产综合久久性色| 99久久久久久| 国产精品一区二区在线观看网站| 性久久久久久久久久久久| 国产精品白丝在线| 久久久久久久久岛国免费| 91精品久久久久久久91蜜桃| 色吧成人激情小说| 成人精品免费看| 国内精品自线一区二区三区视频| 亚洲一二三四久久|