# WM_Initialize

## 構文

      #include <nitro/wm.h>

      WMErrCode WM_Initialize(
              void*           wmSysBuf ,
              WMCallbackFunc  callback ,
              u16             dmaNo
      );

## 引数

wmSysBuf | 呼び出し元によって確保されたバッファへのポインタを指定します。 バッファのサイズはWM_SYSTEM_BUF_SIZEだけ必要であり、かつ32バイトアラインされている必要があります。 また、VRAM、および 拡張メインメモリ(TWL モードのみ)に確保されたバッファを使用することは出来ません。 必ずそれ以外の領域に確保してください。
callback | 非同期処理が完了した時に呼び出されるコールバック関数を指定します。 このコールバックは割り込みハンドラ内から呼び出されます。
dmaNo | WMが使用するDMA番号を指定します。有効なDMA番号である 0 〜 3 を指定して下さい。

## 返り値

WMErrCode列挙型の処理結果を返します。

## 説明

WMライブラリを初期化し、無線ハードウェアを起動します。APIの戻り値がWM_ERRCODE_OPERATINGであった場合、初期化処理が完了した後にコールバックが発生します。 WMはREADYステートからIDLEステートに移行します。
wmSysBufは、WM_Finish( )もしくはWM_End( )が成功終了するまでは開放しないでください。
なお、この関数はWM_Init( )、WM_Enable( )、WM_PowerOn( )の機能を統合したものですので、 初期化処理を細かく制御する場合にはこれらの関数を別々に使用するようにして下さい。

## 参照

`WM_SetIndCallback, WM_Reset, WM_End, WM_Init, WM_Enable, WM_PowerOn`

## 履歴

2009/04/13 特定の領域に確保されたバッファを指定することが出来ない旨を追記
2005/06/08 コールバックが割り込みハンドラから呼び出される旨を補足
2005/03/02 dmaNo引数について指定可能範囲を追記
2004/10/22 返り値の型を変更
2004/09/11 機能分割関数群に関する説明を追記
2004/07/29 説明の追加等
2004/07/23 初版