Everything

R_TMRDn_Get_PulseWidth

16ビット・タイマRDnのパルス幅を読み出します。

備考1.          API 関数を呼び出しは、16ビット・タイマRDnをインプット・キャプチャ機能で使用している場合に限られます。

備考2.          パルス幅測定中にオーバフロー(2回以上)が発生した場合、正常なパルス幅を読み出すことはできません。

 

[指定形式]

#include  “r_cg_macrodriver.h”

#include  “r_cg_timer.h”

void      R_TMRDn_Get_PulseWidth ( uint32_t * const active_width,
uint32_t * const inactive_width, timer_channel_t channel );

備考              n は、チャネル番号を意味します。

 

[引数]

I/O

引数

説明

O

unit32_t * const active_width;

読み出したアクティブ・レベル幅を格納する領域へのポインタ

O

uint32_t * const inactive_width;

読み出したインアクティブ・レベル幅を格納する領域へのポインタ

I

timer_channel_t channel;

読み出し対象端子

  TMCHANNELA :             TRDIOAn端子

  TMCHANNELB :             TRDIOBn端子

  TMCHANNELC :             TRDIOCn端子

  TMCHANNELD :             TRDIODn端子

 

[戻り値]

なし

 

 

 

使用例(アウトプットコンペア機能)

一定間隔でトグル動作を行い,デューティ50%の方形波を出力する

 

[波形例]

 

[GUI設定例]

タイマ

使用する

TMRD0

使用する

アウトプットコンペア機能

使用する

カウントソース設定

内部クロック

内部クロック設定

fIH

カウント動作

TRDGRA0コンペア一致後もカウント継続

カウンタクリア

TRDGRA0コンペア一致でクリア

レジスタ機能設定(TRDGRC0)

ジェネラルレジスタ

レジスタ機能設定(TRDGRD0)

ジェネラルレジスタ

コンペア値設定TRDGRA0

100(μs)(実際の値:100)

出力設定TRDIOA0端子

初期出力 “L” コンペア一致 トグル出力

TRDGRA0コンペア一致割り込み許可

使用する

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

       /* Start user code. Do not edit comment generated here */

       /* Start TMRD0 counter */

       R_TMR_RD0_Start();

 

       while (1U)

       {

              ;

       }

       /* End user code. Do not edit comment generated here */

}

 

 

使用例(PWMモード(最大3本のPWM出力))

指定した周期、デューティのPWM出力を行う

 

[波形例]

 

[GUI設定例]

タイマ

使用する

TMRD0

使用する

PWMモード (最大3本のPWM出力)

使用する

カウントソース設定

内部クロック

内部クロック設定

fIH

カウント動作

TRDGRA0コンペア一致後もカウント継続

レジスタ機能設定 (TRDGRC0)

ジェネラルレジスタ

レジスタ機能設定 (TRDGRD0)

ジェネラルレジスタ

周期

100 (μs) (実際の値:100)

デューティ (TRDGRB0)

50(%)(実際の値:50)

出力遅延時間 (TRDGRB0)

遅延なし

初期出力 (TRDIOB0端子)

非アクティブレベル

出力レベル (TRDIOB0端子)

“L”アクティブ

ELCイベント入力による強制遮断許可

使用しない

INTP0 Lレベル入力による強制遮断許可

使用しない

TRDIOB0端子出力

強制遮断禁止

TRDIOC0端子出力

強制遮断禁止

TRDIOD0端子出力

強制遮断禁止

TRDGRA0コンペア一致割り込み許可

使用する

TRDGRB0コンペア一致割り込み許可

使用しない

TRDGRC0コンペア一致割り込み許可

使用しない

TRDGRD0コンペア一致割り込み許可

使用しない

TRD0オーバフロー割り込み許可

使用しない

優先順位

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

       /* Start user code. Do not edit comment generated here */

       /* Start TMRD0 counter */

       R_TMR_RD0_Start();

 

       while (1U)

       {

              ;

       }

       /* End user code. Do not edit comment generated here */

}