メディア

マイコンに搭載されているDMAって何?Q&Aで学ぶマイコン講座(86)(4/4 ページ)

» 2023年11月14日 10時00分 公開
前のページへ 1|2|3|4       

DMA転送の動作

  1. DMAコントローラーが転送元ペリフェラルもしくはメモリからデータを読み出す
  2. DMAコントローラーが転送先ペリフェラルもしくはメモリにデータを書き込む
  3. 転送データサイズの残数カウンタを1減らす
  4. 残数カウンタが0になるまで1〜3を繰り返す

DMA転送の使用方法

 マイコンでの一般的なDMA転送の利用例として、文字列データを内蔵SRAMからUARTへ転送する例を次に示します。

  1. システムクロックの設定
  2. DMAコントローラーの初期化
  3. UARTコントローラーの初期化
  4. DMAコントローラー転送設定
  5. DMAコントローラー動作開始
  6. UART完了ビットのクリア
  7. UARTのDMA開始ビットのセット
  8. DMAの転送完了割込みを待つ
  9. DMA転送完了

参考)DMA転送はライブラリとサンプルコードを使用すると簡単

 実際にDMA転送を試してみたいが、複雑そうだと感じる方には、各メーカーが提供するサンプルコードを試してみることをおすすめします。今回例に挙げたSTM32G0マイコンを使用して文字列データを内蔵SRAMからUARTへDMA転送してみたい方は、STM32CubeMXを使用して、サンプルコードを取得できます。STM32CubeMX起動後に”ACESS TO EXAMPLE SELECTOR”ボタンを押すと、サンプルコードの一覧表を閲覧できます(図4

<strong>図4:STM32CubeMXでのDMA転送サンプルコードの取得</strong> 図4:STM32CubeMXでのDMA転送サンプルコードの取得[クリックで拡大]

 この中の”UART_TwoBoards_COMDMA”ではDMAを使用したUARTの送受信サンプルコードが取得可能です。

⇒次の記事を読む

Q&Aで学ぶマイコン講座:過去の質問一覧はこちら

前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.