デバイス設定
お馴染みのプロセッサーエキスパート(PE)を使って設定して行きます。
下図のBeansフォルダがPEで設定した結果です。プロジェクト名はPWMCNTです。
・PWM_OUT:PWM設定
・RE_A:ロータリーエンコーダーA相入力ポート設定
・RE_B:ロータリーエンコーダーB相インプットキャプチャモード設定
・IntVector:割り込みベクター設定
CodeWarriorで作成したプロジェクトフォルダをダウンロードできます。CODEフォルダに全てのソースがあります。
PWMCNT.lzh へのリンク←クリックしてダウンロードしてください。
RE_B設定(Capture)
Beans SerectorのMeasurementフォルダのをダブルクリックして設定します。
Pull resistorはpull upに設定します。
Edgeはboth edgesに設定します。
Maximum timer of eventはタイマーがオーバーフローした時に割込みを発生させる機能が有効の時に意味を持ちますが、SHではオーバーフロー割込みは利用できないので特に意味を持ちません。インターラプトを有効に設定しているのでEvent.cに割込み処理関数が生成されます。
この設定もMethodsは特に使わないので設定しません。
RE_A設定(IO Poart)
RE_Aも通常の入力ポートです。で設定します。
Pull resistorはPull upに設定してください。Methodsは特に変更の必要はありません。
PWM_OUT(PWM)
Beans SerectorのInterruptsフォルダのをダブルクリックして設定します。
エッジアラインPWMモードで設定します。PWMの周期はPeriodで設定します。Starting pulse widthは実際の出力波形を確認して1500uSになるように設定しています。
CPU設定(MC9S08SH8CPJ)
CPUの設定はインターナルクロックとバスクロックを変更しています。MethodsでDelay100USをダブルクリックしてチェックを入れてください。
全ての設定が終わったら左上のコマンドProsessor ExpertのGenerate Code’プロジェクト名’をクリックしてコードを生成します。