H8を利用したPWMのパルス生成について
最近H8のマイコンを使い始めた者です。
PWMモードの波形を出力するプログラムを作っているのですが、出力波形が出ない事に困っています。
自分が作成したプログラムを以下に示しますので、
詳しい方いましたら、アドバイス頂けたらと思います。
よろしくお願いします。
#include <tlib.h>
#include "3069S.h"
const unsigned ptn[] = {4000, 16000, 2000, 10000};
unsigned long pos;
unsigned long x;
int main()
{
int i=1;
pos=0;
ITU.TSTR.BIT.STR0=0; //タイマのカウントを停止。
ITU0.TCR.BYTE=0x43; //GRBのコンペアマッチでクリア。1/8クロック
ITU0.GRA=10000; //パルス幅を入力(5ms)
ITU0.GRB=20000; //周期を入力(10ms)
ITU.TMDR.BIT.PWM0=1; //ITU0をPWMモードに設定。
ITU.TSTR.BIT.STR0=1; //タイマのカウントをスタート
while(1){
if(ITU.TISRB.BIT.IMFB0){
x=ITU.TISRB.BIT.IMFB0;
ITU.TISRB.BIT.IMFB0=0;
ITU0.GRA=ptn[pos];
pos++;
pos &= 0x03;
}
}
}
お礼
自己解決しました。 ありがとうございました。