> 何回かペーストしてこちらに送っている、僕の作っているプ > ログラムでは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