MI_InitNDmaConfig

構文

#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


intervalTimerprescaler を設定する関数は 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 初版