<V.3版>
DMAモジュール
パターンマッチモード・チャンネルチェインモードによる
UART RX、TX折り返し制御
(→プロジェクトファイル(Harmony Ver.3版 MHC v3.8.0) ダウンロード)
DMAモジュールには、チャンネルチェインモード 及びパターンマッチモードと呼ばれる制御がありますが、ここではこの2つをつかった Tera Term(UART)の送受信の例を紹介します。 ➀ チェンネルチェインモード …… DMAチェンネルの転送が終了後、自動的に別のDMAチャンネルの転送を実行する ➁ パターンマッチモード …… あらかじめ設定しておいたパターン(データ)と一致するパターンが転送データの中に現れた場合転送を終了する。 |
PCのキーボードからTera Termに文字を入力して 最後に^(キャロット)をキーインすると 入力した文字(含む^)がまとめて返信されます。
<仕様>
・PIC32MZのDMAモジュールを用いパターンマッチモード転送 及びチェンネルチェインモード転送を行う。
・Tera Term を用いて PCとPIC32MZ間のUART(U6RX、U6TX)送受信を行う。
・U6RXでレジスタU6RXREGに 受信したデータをバッファメモリに転送するチャンネルをDMAチャンネル0(DMA0)に設定する。
・バッファメモリのデータをU6TXのU6TXREGレジスタに転送するチャンネルをDMAチャンネル1(DMA1)に設定する。
・データの中に^(キャロット)があった場合は転送を終了する。
(パターンマッチモードで使用するパターンは ^(キャロット)とする)
・DMAチャンネル0の転送が終了したら DMAチャンネル1の転送が開始されるようにする。
・DMA転送されたバッファメモリの内容をキャラクタ液晶に表示する。
<外観>PIC32MZ評価ボード(→購入方法)を使った実験品の外観です。
汎用モジュール評価ボード(段積みボード)には本テーマと関係ない部品が多々実装されています。
<動作結果> (→ 動画:1080pのHD動画を見ることができます。)
RX入力データ(Hellow World !!)受信済み | 備考 |
|
➀ RX入力データ(^ :DMAパターンマッチデータ)受信前 |
➁ RX入力データ(^ :DMAパターンマッチデータ)受信後 |
|
![]() |
![]() |
キャラクタ液晶下段には、 メモリramBuf[ ]が表示されて います。 |
<解説> プロジェクトファイルを精読願います