《電子DIY》之使用arduino驅動EEPROM器件AT24C02、IIC通信、實物製作

IIC協議和24C02介紹:
見此鏈接
IIC協議和24C02介紹

adruino實物圖:
在這裏插入圖片描述

整體實物圖:
在這裏插入圖片描述
程序源碼:

#include <EEPROM.h>      //EEPROM的類庫
int Addr24C02=0;
int led=13;
void setup()
{
    Serial.begin(9600);
}
void clearData(void)
{
    for(int i=0;i<256;i++)
    {
        EEPROM.write(i,0xff);
    }
    digitalWrite(led,HIGH);
    Serial.println("clear data finished"); 
}
void handler(int state)
{
    if(state==1)
    {
        Serial.println("read data is: ");
        readData(0);
        
    }
    else if(state==2)
    {
        Serial.println("write data ing");
        int val = 255;
        int i=0;
        for(i=0;i<256;i++)
        {
            writeData(val--);
        }
        
    }  
    else
      clearData();
}
void loop()
{
   delay(1000);
   handler(0);
   delay(1000);
   handler(2);
   delay(1000);
   handler(1); 
}
void writeData(int value)
{
    EEPROM.write(Addr24C02,value);
    Serial.print(Addr24C02);
    Serial.print(" : \t");
    Serial.print(value,DEC);
    Serial.print("\n");  
    Addr24C02 = Addr24C02 + 1;
    if(Addr24C02 == 512)
    {
        Addr24C02 = 0;
        delay(200);
    }  
}
void readData(int addr)
{
    int value = 0;
    int i=0;
    for(i=0;i<200;i++)
    {
        value = EEPROM.read(addr++);
        Serial.print("Addr24C02: ");
        Serial.print(addr-1);
        Serial.print(" = ");    
        Serial.println(value,DEC);
        Serial.println("");   
    }
    
}

Effect Drawing:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章