処理時間測定
Page last updated 06 May 2018, by
0
replies
.
処理時間測定
// Systickレジスタ #define STK_CTRL *((volatile unsigned long *)0xE000E010) #define STK_LOAD *((volatile unsigned long *)0xE000E014) #define STK_VAL *((volatile unsigned long *)0xE000E018) STK_LOAD = 0x00ffffff; // リロード値に最大値を設定, 24ビットダウンカウンタ STK_VAL = 0x00000000; // カウンタ値にリロード値を設定 STK_CTRL = 0x00000004; // コアクロックを選択, 割り込みなし STK_CTRL |= 0x00000001; // カウンタ動作許可 wait_ms(1); temp0 = STK_VAL; // start // 測定対象の処理 temp1 = STK_VAL; // end if (temp0 >= temp1) { time = temp0 - temp1; printf ("time:%2d[clk]\r\n", time); } else { printf ("time:error!\r\n"); }
Please log in to post comments.