PSoC 3/4/5LP において動作中の Timer, Counter, PWM の周期(period)を変更する。- Community Translated (JA)

Version 1

    Community Translated by  MoTa_728816          Version: **

     

    質問:

    PSoC 3/4/5LP において、動作中の Timer, Counter, PWM コンポーネントの周期を変更するのにはどうしたら良いですか

     

    回答:

    動作中の fixed-function universal digital block (UDB) Timer, Counter 及び PWM コンポーネントの周期は下記の WritePeriod() API を使用して変更することが可能です。新しい周期の値はカウンタが 0 にリセットされたときにロードされます

     

    Timer_WritePeriod(period);

    PWM_WritePeriod(period);

    Counter_WritePeriod(period);

     

    下記の WriteCounter() API を使用して変更された周期を直ちに有効にすることが出来ます

     

    Timer_WriteCounter(0);

    PWM_WriteCounter(0);

    Counter_WriteCounter(0);

     

    注:

    1. WritePeriod API を使用した Timer/Counter/PWM の周期変更は Start API 実行された後で有効です。Start API 実行されると周期は Component Configuration Window で設定された値にリセットされてしまいます。

     

    2. 新たに周期レジスタに書き込まれる値が以前の値よりも小さい場合には、直後に WriteCounter(0) API 実行してください

     

    3. カウンタに N サイクルをカウントさせるためには、周期の値は N-1 を書き込む必要があります