- 追加された行はこの色です。
- 削除された行はこの色です。
[[ファームウェア関数一覧>ファームウェア関数一覧#udd0c846]]
*FLASH_ProgramWord [#vdcc0e02]
フラッシュメモリへの書き込みを行う。&br;
フラッシュメモリへの書き込み単位はワード単位(4バイト)である。&br;
#contents
**ヘッダ宣言 [#k024465a]
**関数プロトタイプ [#cd98707f]
FLASH_Status FLASH_ProgramWord (uint32_t Address, uint32_t Data )
**動作 [#p69b5262]
指定したアドレスに書き込みを行う。
**引数 [#be08ca6d]
-Page_Address&br;
書き込み対象アドレスを指定。アドレスの指定ではあるが、ポインタではなく通常の数値で値を渡す。
-Data&br;
書き込み内容をワード単位(4バイト)で指定する。
**戻り値 [#u5188f58]
-FLASH_Status&br;
処理結果を返します
|FLASH_BUSY|ビジー(処理中)状態|
|FLASH_ERROR_PG|プログラムエラー|
|FLASH_ERROR_WRP|書き込み保護状態|
|FLASH_COMPLETE|処理完了|
|FLASH_TIMEOUT|タイムアウト(時間切れ)|
処理結果を返します&br;
&br;
#include(Macro/FLASH_Status,notitle)&br;
&br;
**サンプル [#a363ca10]
-開始アドレス(Address)から終了アドレス(EndAddress)まで、Dataを書き込む&br;
失敗したら中断
while((Address < EndAddress) && (FLASHStatus == FLASH_COMPLETE))
{
FLASHStatus = FLASH_ProgramWord(Address, Data);
Address = Address + 4;
cprintf(“.”);
}
**参照 [#u132c091]
-初期化([[RCC_Configuration]])&br;
[[FLASH_PrefetchBufferCmd]]→[[FLASH_Latency]]
-一般的な書き込み方法&br;
[[FLASH_Unlock]]→[[FLASH_ClearFlag]]→[[FLASH_ErasePage]]→[[FLASH_ProgramWord]]→[[FLASH_Lock]]