Everything

R_TMRJ0_Get_PulseWidth

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

備考1.          API 関数を呼び出しは、16ビット・タイマRJ0をパルス幅測定モード/パルス周期測定モードで使用している場合に限られます。

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

 

[指定形式]

#include  “r_cg_macrodriver.h”

void      R_TMRJ0_Get_PulseWidth ( uint32_t * const active_width );

 

[引数]

I/O

引数

説明

O

unit32_t * const active_width;

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

 

[戻り値]

なし

 

 

 

使用例(タイマモード)

一定間隔で割り込み関数に入り、その回数をカウントする

 

[波形例]

 

[GUI設定例]

タイマ

使用する

TMRJ0

使用する

機能

タイマモード

カウントソース設定

自動

タイマ値

100μs (実際の値:100)

カウンタがアンダフローしたとき割り込み発生(INTTRJ0)

使用する

優先順位

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

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

       /* Start TMRJ0 counter */

       R_TMR_RJ0_Start();

 

       while (1U)

       {

              ;

       }

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

}

 

r_cg_timer_user.c

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

volatile uint8_t g_cnt = 0U;

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

 

static void __near r_tmr_rj0_interrupt(void)

{

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

       /* Count INTTRJ0 */

       g_cnt++;

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

}

 

 

使用例(パルス出力モード)

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

 

[波形例]

 

[GUI設定例]

タイマ

使用する

TMRJ0

使用する

機能

パルス出力モード

カウントソース設定

自動

タイマ値

100μs (実際の値:100)

出力(TRIJO0)

“H”から開始

出力許可(TRJO0)

使用しない

カウンタがアンダフローしたとき割り込み発生(INTTRJ0)

使用する

優先順位

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

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

       /* Start TMRJ0 counter */

       R_TMR_RJ0_Start();

 

       while (1U)

       {

              ;

       }

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

}

 

 

使用例(イベントカウンタモード)

立ち下がりエッジ100回毎にカウントする

 

[波形例]

 

[GUI設定例]

タイマ

使用する

TMRJ0

使用する

機能

イベントカウンタモード

カウント値

100

TRJIO0入力フィルタ使用

使用しない

TRJIO0イベント入力

常に有効

TRJIO0エッジ極性選択設定

片エッジ

TRJIO極性切り替え設定

TRJIO0入力の立ち下がりエッジでカウント、“H”からTRJO出力開始

出力許可(TRJO0)

使用しない

カウンタがアンダフローしたとき割り込み発生(INTTRJ0)

使用する

優先順位

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

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

       /* Start TMRJ0 counter */

       R_TMR_RJ0_Start();

 

       while (1U)

       {

              ;

       }

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

}

 

r_cg_timer_user.c

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

volatile uint8_t g_cnt = 0U;

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

 

static void __near r_tmr_rj0_interrupt(void)

{

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

       /* Count INTTRJ0 */

       g_cnt++;

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

}