[H8-ML(4370)] Re: Message for h8
From: "masanobu suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2004年01月30日(金)16時50分54秒
> ITU1.TIOR.BYTE = 0xdc;
> ITU1.TIER.BYTE = 0xfa;
> ITU1.TCR.BYTE = 0x23;

ITU1の設定はこれで良いですよ。リザーブbitは書き込みは無効です
から1でも0でもどちらでも構いません。更に

TIER1 = 0xFA;		// 割り込み許可( GRB1 )
TSTR = 0xFC;		// カウンタスタート(CH0,CH1)

を追加すればOKです。(CH0はPWM出力用とします)
尚、割り込みはGRB1ですから、スタートアップルーチンの割り込みベクタ
はベクタ番号29(H'0074)でなければなりません。

割り込みルーチンは、単純に
void intimia1(void){
    TSR1 = 0;	     // フラグ解除
    cnt0 = GRB1;     // 加速度センサパルス幅のカウント値
                           // cnt0はグローバル変数(16bit)
}
レジスタの指定が構造体で定義してあるなら、上記を構造体に直して
下さい。上記の設定は、私が実際に使っているプログラムの設定と
基本的に同じですから、これでも動かないとなると、

1)構造体で定義してあるレジスタアドレスが一致していない。
2)割り込み処理のステータスレジスタの読み込みと書き込みを
 構造体で行っている部分に問題がある可能性あり。
 (私は秋月のCと構造体を使っていないのでなんとも言えません)
3)cnt0が本当にグローバル変数として定義されているのか?
4)配線が間違っている。

ことが考えられます。取り急ぎ書きましたが、結果をお知らせ頂ければ
フォローできると思います(差し支えなければ、更にソースを個人メール
で送って頂いても構いません)

鈴木(正)
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.574 / Virus Database: 364 - Release Date: 2004/01/29

スレッド概略
[4293(R)](起点)
 └[4369(U)]
   └[表示中]
     ├[4371(1)]
     ├[4372(2)]
     └[4373(3)]


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


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