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 */
}