初めて投稿させて頂きます三好といいます。
かなり初心者ですが、よろしくお願いします。
過去の投稿にもなさそうなので質問させていただきます。
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 */
}