[H8-ML(2816)] H8/3664のPWM動作についての質問
From: "TETSUYA MIYOSHI" <miyosi@xxxxxxxxxxxx>
Date: 2003年02月18日(火)18時48分00秒
初めて投稿させて頂きます三好といいます。
かなり初心者ですが、よろしくお願いします。

過去の投稿にもなさそうなので質問させていただきます。
H8/3664でタイマWのPWM動作を行おうとしているのですが、
周期レジスタのGRAは設定した値で動くのに、
デューティレジスタのGRCは全く検討のつかない値になってしまいます。

---具体的には---
クロックの分周を1/8として、1カウント500nsとしています。
GRAの値を32000カウントにすると波形の周期は16msになります。(正しいです)
しかし、GRCの値を16000カウントにすると
周期は15.997msになってしまいます。(実際は8msです)
また、そのGRCの値を半分の8000カウントにすると
周期は15.704msと変化はするけど理解できない値になります。(実際は4msです)

下にプログラムを付けさせてもらいます。
ご検討のうえ、どう対処すればいいかご回答いただければ幸いです。

#include <3664f.h>
void main(void)
{
     TW.TMRW.BIT.PWMC = 1;
     TW.TCRW.BIT.CCLR = 1;
     TW.TCRW.BIT.CKS = 3;     /* 1 count 500ns */

     TW.TCRW.BIT.TOC = 0;     /* 0->1 */

     TW.GRA = 32000;             /* count clear 16ms */
     TW.GRC = 16000;              /* 8ms */
     TW.TMRW.BIT.CTS = 1;     /* count start */
}

スレッド概略
[表示中](起点)
 ├[2817(1)]
 └[2818(2)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]