⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eeprom.c

📁 This is IR (Infra-Red) learn module for home automation system. It can learn IR codes from different
💻 C
字号:
/*
 *  FILE:
 *     eeprom.c (rev. 1.1 - 14.04.2006)
 *
 *  PROJECT:
 *     IR Learn System 
 *  
 *  DESCRIPTION:
 *     See "eeprom.h" for description
 *     
*/  

#include "AT89C51ED2.h"
#include "eeprom.h"
#include "types.h"

// Write byte to Data EEPROM
#pragma NOAREGS
void EEPROM_Write(U16 addr,U8 val){
    EA=0;                               // Disable interrupts for a while
    EEPROM_Put(val,addr&0xFF,addr>>8);
    EA=1;                               // Enable interrupts
    while (EECON&EEBUSY);
}

// Read byte from Data EEPROM
// Returns: 0 - Ok, 0xFF - Error (Timeout)
#pragma NOAREGS
U8 EEPROM_Read(U16 addr){
    register U8 i;
    EA=0;                               // Disable interrupts for a while
    i=EEPROM_Get(addr&0xFF,addr>>8);
    EA=1;                               // Enable interrupts
    return i;
}

// Initialize EEPROM for first run
void EEPROM_Init(void) {
    register U8 i;
    U16 j;
    i=EEPROM_Read(MAP_FirstMark);
    if (i==FirstMark) return;           // Check first system start
    // Reset whole EEPROM
    for (j=0;j<2048;j++) EEPROM_Write(j,0);    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -