#include <twl/mi.h>void MI_InitNDmaConfig( void );
なし。
なし。
新規DMAの動作を制御するDMA config 構造体を初期化します。
この関数は、TWL モードで動作する時に、OS_Init() で呼び出されます。その後何度呼び出しても構いません。その都度初期化を行います。
DMA config 構造体とは DMAの動作APIで設定しきれないパラメータを入れておく場所です。実際のDMA
の際にはその構造体を参照して動作を行います。構造体型は MINDmaConfig です。
DMA config 構造体で設定できるものは以下の値です。
| メンバ名 | 説明 | 関係するレジスタ | 初期値 |
|---|---|---|---|
intervalTimer |
ブロック転送のインターバルタイマーです。 | DMAxBCNT の d15-0 | 1 |
prescaler |
ブロック転送インターバルタイマーのプリスケーラです。 | DMAxBCNT の d17-16 | MI_NDMA_INTERVAL_PS_1 |
blockWord |
ブロック転送ワード数です。 | DMAx_CNT の d19-16 | MI_NDMA_BWORD_16 |
wordCount |
転送ワード数です。 | DMAxWCNT | MI_NDMA_AT_A_TIME |
intervalTimer と prescaler を設定する関数は MI_SetNDmaInterval() です。
現在の intervalTimer の設定を取得する関数は MI_GetNDmaIntervalTimer() です。
現在の intervalPrescaler の設定を取得する関数は MI_GetNDmaIntervalPrescaler() です。
blockWord を設定する関数は MI_SetNDmaBlockWord() です。
現在の blockWord の設定を取得する関数は MI_GetNDmaBlockWord() です。
wordCount を設定する関数は MI_SetNDmaWordCount() です。
現在の wordCount の設定を取得する関数は MI_GetNDmaWordCount() です。
この関数は、デフォルトで使用される構造体を設定するためのものですが、ユーザの用意した構造体に値をコピーしたり、逆にユーザの用意した構造体から値をコピーしたりすることが可能です。MI_GetNDmaConfg() , MI_SetNDmaConfig() を参照してください。
ライブラリ内の構造体に値を設定するのみで、実際にレジスタをアクセスすることはありません。
MI_GetNDmaConfig, MI_SetNDmaConfig
2007/09/07 初版