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