2016-04-14 19 views
0

私のAttiny85はEEPROMデータ全体を失ってしまいます。 私はArduino IDEを使用しています。シリアルフィードバックを得るため、EEPROMが書かれていることは間違いありません。ここに私のコード:Attiny85 EEPROM消去、電源喪失後

#include <EEPROM.h> 
#include <SoftwareSerial.h> 

SoftwareSerial SSerial(0, 1); 

int addr = 0; 
uint8_t val = 2; 

void setup() 
{ 
    SSerial.begin(9600); 
} 

void loop() 
{ 
    EEPROM.write(addr, val); 

    delay(100); 

    uint8_t value = EEPROM.read(addr); 

    SSerial.print(addr); 
    SSerial.print("\t"); 
    SSerial.print(value, DEC); 
    SSerial.println(); 

    addr = addr + 1; 
    if (addr == 512) 
    while(1); 
} 

ありがとう:) ISP SPIを通してプログラミング

+0

eepromをループに書き込まないでください。破損する可能性があります。あなたは宣言されていない可変アドレスを使用しています –

+0

あなたが試したコードは本当ですか? 'address'はどこにも定義されていません。テスト中に書き込みコードが長時間ループすることによってEEPROMを殺しましたか? –

+0

ループは1回だけ実行されます。 – SPJS01Pro

答えて

2

は、デフォルトでは(すべての値が0xFFになる)、EEPROMを消去しますが、この機能は、プログラマの設定で設定することができそうです。ブートローダーによるプログラミングはeepromを消去しません。

ありがとうございました@Vladimir Tsykunov

+0

これはVladimirのコメントなので、彼に尋ねるのはよかったでしょう答えとして投稿する(彼にクレジットを与える)... – frarugi87

+0

彼が彼の答えを投稿すれば、確かに彼の投稿をチェックする – SPJS01Pro

関連する問題