[H8-ML(4333)] Re:Message for h8
From: "masanobu suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2004年01月21日(水)14時02分24秒
>  何回かペーストしてこちらに送っている、僕の作っているプ
> ログラムではITU0をスタートアップルーチンに設定しているの
> で、他の1から4は余っているはずです。この余ったITUを、
> 例えばITU2を使うとして、
>      ITU.TSTR.BIT.STR2 = 1
> という記述をプログラムに追加すろだけではだめということで
> しょうか?このやり方の詳しい説明をお願いします。

これだけではだめです。マニュアルの頁10-47に示される手順
で該当するレジスタを全て設定してください。

> 上の方法を採用することにしたのですが、ちょっと面倒かもし
> れないというのはやはりITUの設定のことでしょうか?

「慣れないとちょっと面倒」と言った意味は、レジスタの設定その
ものではなく、以下に示す様な点を良く考えておかなければなら
ないということです。

1)パルス幅を更新するタイミング
 PWMモードでは、GRAまたはGRBのいずれかで、PWM出力
 の繰り返し周期を決めますが、説明のため、GRAを周期、GR
 Bを出力するパルス幅とすると、加速度センサーから読みとった
 パルス幅cnt0をGRBに書き込めば、その値に応じてパルス幅は
 可変します。
 
 しかし、いつGRBを更新すれば良いでしょうか?
 ITUのコンペアマッチは常に動いてTCNTの値と比較されていま
 すが、確率的にGRBのコンペアマッチとGRBへの書き込みが競
 合するケースが生じます。この場合は、コンペアマッチが発生
 せず、パルスがでません。(マニュアル頁10-74参照)
 通常は、GRBのコンペマッチの発生後に値を書き換えることが
 必要なので、割り込みを使って書き換えるか、GR3,4でバッファ
 動作を行うことになります。

 今回のような簡易的な動作確認の場合は、確率的な問題です
 から特には気にする必要はありませんが、将来PWM出力を使
 う場合には少し考慮しておく必要があります。

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

スレッド概略
[4293(R)](起点)
 └[4329(U)]
   └[表示中]
     └[4334(1)]


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


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