使用例

データ加算モードで配列データを加算し、“FFFFh”より大きくなったとき割り込みで加算結果を取得する

その後データ比較不一致モードに変更し、配列データに"000h"以外を検出した場合に割り込みを発生させる

 

[GUI設定例]

データ演算回路

DOC

使用する

DOC設定

使用する

動作モード

データ加算モード

比較基準値/加減演算結果初期値

0xFFFF

データ演算回路割り込み(INTDOC)有効

使用する

INTDOC 優先順位

 

 

[API設定例]

r_cg_main.c

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

extern volatile uint16_t data[16];

volatile uint8_t cnt;

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

 

void main(void)

{

       R_MAIN_UserInit();

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

       while (1U)

       {

              for (cnt = 0; cnt < 16U; cnt++)

              {

                     /* Write new data to compare */

                     R_DOC_WriteData(data[cnt]);

              }

       }

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

}

 

r_cg_doc_user.c

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

volatile uint16_t data[16];

volatile uint16_t result;

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

 

static void __near r_doc_interrupt(void)

{

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

       /* Get result */

       R_DOC_GetResult((uint16_t *)&result);

 

       /* Configure the operation mode of DOC */

       R_DOC_SetMode(COMPARE_MISMATCH, 0x0000);

 

       /* Clear DOPCF flag */

       R_DOC_ClearFlag();

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

}