[[ファームウェア関数一覧>ファームウェア関数一覧#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]]