dポイントプレゼントキャンペーン実施中!

最近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;
}
}

}

A 回答 (1件)

割り込み許可がされてないのでは?




H8でPWMのことは良く知りませんが、ハードウェアマニュアルとか見ていると、「TIERでIMFA割込みを許可してください。」とか書かれています。

この回答への補足

色々とマニュアルを参考にしたりして、解決することができました。

問題だった点は、プログラム本体でなく
#include "3069S.h"のファイルに問題がありました。
お手数おかけしましたが、お世話になりました。

補足日時:2004/05/26 17:18
    • good
    • 0
この回答へのお礼

素早い回答に感謝いたします。

早速IMFA,IMFBの割り込みを許可して再度テストを行ってみましたが、現状打破する事ができませんでした。

自分でも、もう1度詳しくハードウェアマニュアルを見直して、テストを行ってみようと思います。

お礼日時:2004/05/26 11:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!