このマクロは関数のように使用します。
FLASH操作関数です。EEPROMはdsPIC30にしかありませんが、dsPIC30,dsPIC33,PIC24F,PIC24HでFLASHをEEPROMのように扱います。
関数名 内容 EraseFLASH(int *adr) FLASH 96バイトを消去、実行時間=約2ms WriteFLASH(int *src, int *dst) RAM内容をFLASHに書き込み、実行時間=約2ms ReadFLASH(int *src, int *dst) FLASH内容をRAMに読み込み、実行時間=約23us
- FLASH.hをインクルードしてください。
- FLASHデータ(アライメントは64バイト指定)を確保してください。アトリビュートに_FLASH(64)を指定します。
- RAMデータを確保してください。
- FLASHの消去、書き込みには処理時間がかかります。
- 必ず消去してから書き込みしてください。消去とはビットをすべて1にする操作です。書き込みはビットを0にする操作です。
- アライメントを指定しないと危険です。予期せずプログラムを消去したり書き換えたりして暴走します。
- dsPIC30は96バイト単位で消去しますが、dsPIC33,PIC24H,PIC24Fは192バイト単位です。アライメントや確保するデータ数に注意してください。
FLASH.zip(C)2009 All rights reserved by Einstein.
- FLASH.h
- Sample.c