PSoC 3/4/5LP において動作中の Timer, Counter, PWM の周期(period)を変更する。- Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
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 を書き込む必要があります。