PSoC デバイスでの CyDelay()/CyDelayUs()の遅延時間精度 - KBA221170 (JA)

Version 1

    Version: **

     

    Question:

    CyDelay()を使用して生成した固定の遅延時間について、誤差が発生するのはなぜ?

     

    Answer:

    CyDelay関数 (CyDelay() CyDelayUs()) は、シンプルなソフトウェアベースの遅延ループを実行します。このループはバスクロック周波数およびその他の要因を補償するように設計されています。しかし、ループ内の実時間に影響を与える可能性がある付加的要因があります。各関数の遅延時間はアセンブリ命令の実装時間を累計することにより計算されます。

    より精度の高い遅延時間に対しては、ハードウェア (PWMまたはTimer) モードを考慮してください。