repAll_EEPROMの内容を全て置換する

説明

EEPROMの内容を全て置換します。置換は1バイト単位で行われます。指定した範囲に該当する値があった場合はすべて置換されます。関数には開始アドレス、終了アドレス、検索する値、置換する値を指定します。検索した結果、値が見つかった場合は指定した値に置換し、置換した最後のEEPROMのアドレスを返します。見つからなかった場合は-1を返します。

[以下のJavaScriptプログラムをダウンロード]

// EEPROM replaceAll(startAdrs,endAdrs,searchValue,replaceValue)
// return : last address or -1
function repAll(adrs,eAdrs,value,repVal){
var f=-1;
while(adrs<=eAdrs){
var n, d=0x50|(((adrs>>16)&1)<<2);
i2cw(d,(adrs&0xff00)>>8,adrs&255);
i2cr(d,n);
if(n==value){
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff,repVal);
f=adrs;
sleep(10); // wait
}
adrs=adrs+1;
}
return f;
}
log("search value\n");
var sv=input();
log("replace value\n");
var rv=input();
log(repAll(0,256,sv,rv),"\n");

目次に戻る