RL78/G1EのTO00でパルス出力8個の件

お世話になります初心者IKUZOと申します
RL78/G1EのTO00でパルス出力8個のみ出力したいと思います
R_TAU0_Channel0_Start();からたぶん
INTTM00割込みハンドラーにてカウンター確認しまして
R_TAU0_Channel0_Stop();を呼ぶような処理ではないかと思いますが
1.INTTM00割込みハンドラーはどのファイルになりますでしょうか?
2.その中でカウンターが8になっているかどうかは、どのように確認するのでしょうか?

Parents
  • わわいです
    出力パルスの周波数(と言うかパルス間隔)はどんだけでしょうか?
    それが十分遅いなら、パルスごとの割り込みやらコンペアマッチの割り込みでカウンタ止める、という処理が有効ですが、割り込み応答時間よりパルス間隔が短くなるとこういう処理では無理となります
  • わわいさん
    20uSですから。
  • __interrupt static void r_tau0_channel0_interrupt(void)
    {
    /* Start user code. Do not edit comment generated here */
    if(r_tau0_channel0_interrupt_count < 17){
    r_tau0_channel0_interrupt_count++;
    }else{
    r_tau0_channel0_interrupt_count=0;
    R_TAU0_Channel0_Stop();
    }
    /* End user code. Do not edit comment generated here */
    }
    16を17にするとパルスの反転することがなくなりました。
Reply
  • __interrupt static void r_tau0_channel0_interrupt(void)
    {
    /* Start user code. Do not edit comment generated here */
    if(r_tau0_channel0_interrupt_count < 17){
    r_tau0_channel0_interrupt_count++;
    }else{
    r_tau0_channel0_interrupt_count=0;
    R_TAU0_Channel0_Stop();
    }
    /* End user code. Do not edit comment generated here */
    }
    16を17にするとパルスの反転することがなくなりました。
Children
  • チョコさん
    アナログ機能のコード生成はまだないですよね?
  • チョコです。
    >16を17にするとパルスの反転することがなくなりました。
    形波出力では,エッジで割り込みがでるので,どの状態からスタートするかでカウント値を調整することになります。目的のパルス数と出力の状態が得られたらOKと言うことで。
  • IKUZOさん
    スマートアナログ専用のコンフィグツールを使わないとですね。(ツールがCS+に組み込まれて色々できます)
    www.renesas.com/.../sa-designer.html

    Webの波形シミュレータは最近?閉鎖されてしまったようです。
    www.renesas.com/.../smart-analog-renesas-va.html

    シリアル使って例えば、SO出力の初期値を1にしておいて、SO端子から0x55を2回送信するのとかってダメです?
    送信バッファがあるので、1バイト(0x55)送信中にもう1バイト(0x55)を送信すれば、割り込みとかDMA使わずに、ぴったり8パルス作れますし。

  • チョコです。
    聞いたことは無いですね。
    アナログ関係はWebシミュレータ等の別のサポート手段があったはずですが,そこらは使ったことがないので分かりません。
  • チョコさん、アドバイスありがとうございます
    DMAでできるのですか、考えてもみませんでした、必要になったらDMA利用を考えてみます
    アナログ関係はWebシミュレータですか、調べてみます。
  • Kirinさん、アドバイスありがとうございます
    「シリアル使って例えば、SO出力の初期値を1にしておいて、
    SO端子から0x55を2回送信するのとかってダメです?
    送信バッファがあるので、1バイト(0x55)送信中にもう1バイト(0x55)を送信すれば、
    割り込みとかDMA使わずに、ぴったり8パルス作れますし。」
    そういう方法もありましたね、なるほどと思いました、
    ビットパターンでできますからね、
    とりあえずできましたので。

  • Webシミュレータはないんですね、なんとかレジスターいじってみます、
    スマートアナログ専用のコンフィグツールはインストールしてるんですが、あれはシリアルの設定ツールだと思うのですが、レジスターなので互換性があるのかな、調べてみます。
  • チョコです。
    なるほど,CSIですか。
    CSIを使うなら,SOじゃなくて,SCKがいいんじゃないですか。8ビット分でちょうど8クロック分出ます。
  • チョコさん
    7ビット必要になる場合もありますね、その場合は?、8ビット以上の場合は?
    それはそうと、アナログ部はシリアルのレジスターでしたね、サンプルソフトがあるので、とりあえずそれを参考にしてみたいと思います。
  • チョコです。
    8パルスや7パルスなら1回分の通信で何とかなりますが,可変にするならば,倍の転送が必要ですが,SOがフレキシブルです。