103_Arduino EEPROM读写测试

         看了一下Arduino的EEPROM库,还是很简单的。功能比较全,针对最常用的读写功能我做一下测试。

         以下是说明文档中的一部分:

103_Arduino EEPROM读写测试_第1张图片

         我用的Arduino是328PB,因此应该是1024字节的EEPROM。看着这个寿命,应该是FLASH模拟的EEPROM了。

         针对读写功能测试,我自己设计的测试程序主要功能:根据一个不断变化的计数器的奇偶性决定是否输出EEPROM的内容,而这个计数器变化后会存储EEPROM。

         设计的代码如下:

#include 

static unsigned char read_finished_flg = 0;
unsigned char data_eeprom;

void setup()
{
// put your setup code here, to run once:
    int i  = 0;

    Serial.begin(9600);
    Serial.println("test start...");

    for(i = 0; i < 256; i++)
    {
        EEPROM.write(i,i);
    }

    Serial.println("eeprom write finished.");

    read_finished_flg = EEPROM.read(256);
    Serial.println(read_finished_flg);


    if(read_finished_flg % 2 == 1)
    {
        for(i = 0; i < 256; i++)
        {
            data_eeprom = EEPROM.read(i);
            Serial.println(data_eeprom);
            delay(10);
        }
    }
    if(read_finished_flg < 255)
    {
        read_finished_flg += 1;
    }
    else
    {
        read_finished_flg = 0;
    }
    EEPROM.write(256,read_finished_flg);
}

void loop()
{
// put your main code here, to run repeatedly:
}

         每次测试,只需要复位一下。

103_Arduino EEPROM读写测试_第2张图片

         这个是运行了3次之后的效果,接下来再次复位能够看到写完EEPROM之后输出的计数器的数值发生变化。具体如下:

103_Arduino EEPROM读写测试_第3张图片

         第4次,由于奇偶性,这次没有输出。再次复位:

103_Arduino EEPROM读写测试_第4张图片

         看得出EEPROM的功能OK。

你可能感兴趣的:(Arduino)