Everything

使用例

ソフトウェア・イベントを発生させ、リンクさせたイベントを発生させる

次々にリンクさせ、イベント割り込みまで来ると終了

 

[GUI設定例]

イベントリンクコントローラ

ELC

使用する

ELC_CMT1

使用する

CMT1

使用する

イベント信号

ソフトウェアイベント信号

 

 

 

イベント入力時動作

カウントスタート

 

 

ELC_Interrupt1

 

使用する

 

 

 

割り込み1

使用する

 

 

 

イベント信号

グループ入力ポート2・入力エッジ検出信号

 

 

 

イベント入力時動作

CPUへ割り込み要求、DMACデータ転送開始、DTCデータ転送開始

 

 

 

ELSR18I 優先順位

レベル15

 

 

ELC_Interrupt2

 

使用する

 

 

 

割り込み2

使用する

 

 

 

イベント信号

グループ入力ポート2・入力エッジ検出信号

イベント入力時動作

CPUへ割り込み要求、DMACデータ転送開始、DTCデータ転送開始

 

 

 

ELSR19I 優先順位

レベル15

PortGroup2

使用する

ポートグループ2設定

使用する

 

 

 

PE0

使用する

 

 

 

PE1

使用する

 

 

 

PE2

使用する

 

 

 

PE3

使用する

 

 

 

PE4

使用する

 

 

 

PE5

使用する

 

 

 

PE6

使用する

 

 

 

PE7

使用する

 

 

 

入力ポートグループ2設定

使用する

 

 

 

イベント発生の有効エッジ

両エッジ

 

 

 

PDBF2レジスタへの上書き有効にする

使用しない

 

 

 

入力ポートグループ2設定 イベント信号

CMT1・コンペアマッチ1信号

 

 

 

入力ポートグループ2設定 イベント入力時動作

外部端子の信号値をPDBFnレジスタに転送

 

コンペアマッチタイマ

CMT1

使用する

コンペアマッチタイマ動作設定

使用する

クロック設定

PCLK/512

インターバル時間設定

3000ms (実際の値:2999.978667)

 

 

 

コンペアマッチ割り込みを許可(CMI1)

使用する

 

 

 

優先順位

レベル15

 

 

[API設定例]

r_cg_main.c

void main(void)

{

       R_MAIN_UserInit();

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

       /* Enable all ELC event links */

       R_ELC_Start();

 

       /* Trigger a software event */

       R_ELC_GenerateSoftwareEvent();

 

       while (1U)

       {

              ;

       }

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

}

 

r_cg_elc_user.c

static void r_elc_elsr18i_interrupt(void)

{

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

       /* Disable all ELC event links */

       R_ELC_Stop();

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

}