がじぇるねの方へGR-CITRUS(RX631)で簡易オシロスコープを作ろうとして投稿中ですが、RL78/G13ではどうだろうと思いデバイスのマニュアルを見てみるとVDDが3.6V以上であれば時間軸的に切りの良い2.5μsec毎での連続A/D変換が出来るようでした。都合の良いことに、CS+のコード生成機能のGUIを触ってみるとタイマとDMAを使って連続A/D変換結果を取り込むコードも生成出来るようでした。そこで、ひとまず下調べとしてCS+で以下のようなことをして実際に確認してみました。(1)スマートブラウザウィンドウでアプリケーションノートを探す(2)コード生成機能を利用してプログラムを作る(3)シミュレータで試す(4)実デバイスで試すrl78g13_timer_adc_dmac_study_20170321.zipRL78/G13デバイスのマニュアルより抜粋シミュレータGUIとCS+デバッガの画面[画面コピー色々](1)スマートブラウザウィンドウでアプリケーションノートを探す見つけた以下のアプリケーションノートにはざっと目を通しておきました。R01AN2576JJ0200 タイマ・アレイ・ユニットR01AN2581JJ0200 A/DコンバータR01AN2803JJ0100 DMAコントローラ(2)コード生成機能を利用してプログラムを作る上のアプリケーションノートを見ていて気付いたのですが、DMAコントローラに関しては生成されたコードの使い方にちょっとしたコツがあるようです。r_cg_dmac.cコード生成によるDMAコントローラ初期化関数(GUI上でシンボル入力不可)
コード生成のユーザ記述部に以下の関数を追加して適宜呼び出すことにした
(3)シミュレータで試す実デバイスとの違いを確認してみると今回の動作確認をするには問題無しでした。CS+ RL78/G13用シミュレータ リリースノートより抜粋(4)実デバイスで試す連続A/D変換を期待通りの時間で出来ているようです。r_main.cr_main.cなお、printf()/scanf()は以下を投稿した時に使用したプロジェクトのものです。チョコ様のCC-RLのUARTサンプルプログラム「RL78コード生成へのリングバッファ追加」にputchar/getcharを追加してprintf/scanfが出来るようにしてみた