copy_指定した範囲のEEPROMの内容をコピーする

説明

指定した範囲のEEPROMの内容をコピー(複製)します。関数には開始アドレス、終了アドレス、コピーするバイト数を指定します。

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

// EEPROM copy(srcAdrs,dstAdrs,count)
function copy(srcAdrs,dstAdrs,count){
function romR(adrs){
var n, d=0x50|(((adrs>>16)&1)<<2);
i2cw(d,(adrs&0xff00)>>8,adrs&255);
i2cr(d,n);
return n;
}
function romW(adrs,value){
i2cw(0x50|(((adrs>>16)&1)<<2), (adrs&0xff00)>>8,adrs&0xff, value);
sleep(10);
}
if (srcAdrs==dstAdrs){ return; }
if (srcAdrs>dstAdrs){
while(count>0){
romW(dstAdrs,romR(srcAdrs));
srcAdrs=srcAdrs+1;
dstAdrs=dstAdrs+1;
count=count-1;
}
return;
}
srcAdrs=srcAdrs+count-1;
dstAdrs=dstAdrs+count-1;
while(count>0){
romW(dstAdrs,romR(srcAdrs));
srcAdrs=srcAdrs-1;
dstAdrs=dstAdrs-1;
count=count-1;
}
}
log("src adrs\n");
var src=input();
log("dst adrs\n");
var dst=input();
log("size\n");
var size=input();
copy(src,dst,size);

目次に戻る