# MI_NDmaRestart

## 構文

  `#include <twl/mi.h>`
  `void MI_NDmaRestart( u32 ndmaNo );`

## 引数

ndmaNo | DMAチャンネル (新規DMAの中で0〜3)

## 返り値

なし。

## 説明

設定済みの新規 DMA を開始します。

この関数は現在の新規DMAレジスタの設定で DMAを開始します。具体的には、ndmaNo で指定する新規DMA のイネーブルビットを１にします。それ以外のDMAに関するレジスタは予め設定しておく必要があります。

予めDMAを設定するのは `MI_NDmaCopy*(), MI_NDmaFill*(), MI_NDmaClear*(), MI_NDmaSend*(), MI_NDmaRecv*(), MI_NDmaPipe*()` の、_SetUp をつけた関数で行います。詳細は各関数のリファレンスを参照してください。

元々一度DMA処理が終わったのち、必要なレジスタのみを設定して再び開始する、という使い方のために用意されました。この関数が "Restart" であるのはそのためです。

## 内部動作

IOレジスタの新規DMAレジスタを使用します。

## 参照

`MI_NDmaCopy*(), MI_NDmaFill*(), MI_NDmaClear(), MI_NDmaSend*(), MI_NDmaRecv*(), MI_NDmaPipe*()
`

## 履歴

2007/10/31 初版