こんにちは。
MRSSK(ルネサスソリューションスターターキット)のプログラムを公式HPからダウンロードしてきて,
見ていたら疑問点がありましたので、教えて下さい。
開発環境:CS+,
対象マイコン:RL78G1F
ダウンロードプログラム : RL78G1F_MRSSK_SPM_LESS_120_DIP_CSP_CC_V100
プログラム内容: スターターキット(24V Motor Control Evaluation System for RX23T)とRL78G1FのCPUカードを使ってセンサレスモーターを動かすというものです。
プログラム中のタイマーの初期設定の部分が分かりません。
文章でうまく説明できないので、図を作りました。質問は3つ有ります。
1. TIOSの設定について
2.プログラム自動生成で動作クロックCK01を選択したい
3.TMR03の設定について、回路図を見ると有効エッジを入力する端子が解放になっているので、タイマーをスタート出来ない?
分かる方がいましたら教えて下さい。
よろしくお願いします。
チョコです。
>TSを1にするとTEが1になり、TIの入力を待つとなっていて、
>ソフトウェアトリガスタート出来ないと思いますが、出来るのでしょうか?
できます。
手元にRL78/G1Fの環境はないので,RL78/G13のTBで確認してみます。
下に示すように,コード生成でTM03を50usのディレイ・カウンタに設定してみました。
この設定で,以下のプログラムに示すようにTM03を起動してトリガ待ちにします。TS0LでTM03をトリガした後は,変数g_timeをインクリメントする無限ループします。
TM03の割り込み処理にブレークポイントを設定して実行すると,以下のような結果となりました。
ウォッチ1で変数g_timeの値が0x0141でTM03の割り込みが入ってきていることが分かります。
TI03は何もいじっていませんし,何回実行しても変数g_timeの値は0x0141なので,ソフトでトリガ可能なことが確認できたことになります。
ここで,変数g_timeを使ったのは,ハードウェア マニュアルの「図6 - 66 ディレイ・カウンタとしての動作のブロック図」にTSmnが直接割り込み制御回路に行くルートがあったので,トリガしてすぐにはINTTM03が発生していないことを確認するためです。(ディレイ・カウンタで使用しているワンカウント・モードでのTMRmnレジスタのMDmn0ビットの説明に「トリガで割り込みは発生しない」とは書かれているのですが,念のためです。)
この結果から,TI03トリガ入力に設定されていてもソフトでトリガできることが確認できます。
チョコさん返信遅れました。
わざわざ試して下さり、あがとうございます。
チョコさん返信を参考にして試してみてやっと理解できました。
そして6.8.6に記述がありました。「TSmn=1 →TEmn=1になる→もう一度TSmn=1にするとダウンカウントスタートする。」