我有一个while
用 C 语言为 MSP430 处理器实现的循环,目前看起来像这样:
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
价值,一种或另一种方式。