while
現在、次のようなMSP430プロセッサ用にCで実装されたループがあります。
register unsigned int sw_loop_count = 0U;
...
while (TACCL0 & CCIE)
{
++sw_loop_count;
}
...
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
// Disable the timer interrupt flag and enable.
TACCTL0 &= ~CCIFG;
TACCTL0 &= ~CCIE;
}
私はこのループをキャリブレーションの目的で使用していますが、そのコンテキストは私の質問にはあまり重要ではないと思います。チェックを含むループの各反復にTACCL0 & CCIE
は11クロックサイクルかかると計算しました。細分性を高めるために、この数値をできるだけ低くし、可能であればプログラムで取得したいと思います。私は完全なバカかもしれませんが、ループのサイクル数を減らす方法を考えることができないので、アドバイスをいただければ幸いです。sw_loop_count
何らかの形で価値が必要です。