マイコン・メモ
マイコンRX621/RX62Nの使い方(2)
ホームページに戻るトップページに戻る前ページに戻る次ページに進む最終ページに進む
32ビットマイコンRX621/RX62Nの基本的な使い方、続きです。
■参考資料■
・RX62Nグループ、RX621グループ ユーザーズマニュアル ハードウェア編 :ルネサス エレクトロニクス
5.ハードウェアの設定

5-1.システムコントロールの設定

まず、システムコントロールレジスタ0および1で、内蔵ROMとRAMを使うかどうか設定します。通常は両方とも使用すると思うので、次のように記述します。

SYSTEM.SYSCR0.WORD = 0x5A01; /* ←外部バスを使わない場合 */
SYSTEM.SYSCR0.WORD = 0x5A03; /* ←外部バスを使う場合 */
SYSTEM.SYSCR1.WORD = 0x0001;

ROMEとRAMEは初期状態で“1”なので、外部バスを使わない場合は初期状態のままで問題ありません。なお、ROMEは“0”を書き込むと、リセットする以外に“1”に戻せないので注意が必要です。
RX621/RX62Nのシステムコントロールレジスタ

5-2.システムクロックの設定

次に、システムクロックコントロールレジスタで各部のクロックを設定します。
設定するクロックは次の3点です。
ICK=システムクロック(CPU,DMACA,DTC,ETHERC,EDMAC,ROM,RAM の動作クロック)
BCK=外部バスクロック(外部バスコントローラ,EXDMAC の動作クロック)
PCK=周辺モジュールクロック

例えばEXTAL=12MHzのとき、ICK=96MHz,BCK=48MHz,PCK=48MHz、かつSDCLKとBCLK端子出力を禁止とするには、次のように設定します。

SYSTEM.SYSCR.LONG = 0x00C10100;

このとき、システムクロック ICKは、外部バスクロックBCKおよび周辺モジュールクロックPCK以上の周波数とならなければいけません。
RX621/RX62Nのクロックコントロールレジスタ

備考:これらの初期設定は、新規プロジェクトを作成するとき生成されるファイルhwsetup.c内にある、関数HardwareSetupに記述します。

5-3.I/Oポートの設定

I/Oポートはマイコンのパッケージにより異なる部分があるので、使用できるポートとビット構成をマニュアルで確認しておく必要があります。
ここでは、100ピンLQFPパッケージのポート5を、下図のように設定する場合を例に説明します。
ポート5の設定例

下記は、ポート5の初期化例です。
   PORT5.DR.BYTE = 0x00;
   PORT5.DDR.BYTE = 0x20;
   PORT5.ICR.BYTE = 0x1F;
   value = PORT5.PORT.BYTE;
/* 初期出力データをセット */
/* “0”を書き込んだビットが入力、“1”を書き込んだビットが出力になります */
/* b4~b0の入力バッファを有効にします */
/* 入力ポートを読み込む場合はPORTレジスタを読み込みます */

H8/3694FでPCRと呼ばれていた出力ポートを設定するレジスタは、DDR(Data Direction Register)と呼ばれています。また、同名のDDRを持つH8マイコンとも異なり、RXマイコンのDDRは読み出し可能になっています。従って、ANDやORなどの論理演算あるいはビット操作命令でも設定できます。
もう一つH8マイコンと異なる点として、ICR(Inputbuffer Control Register)というレジスタがあります。入力ポートにしたいビットは、DDRの対象ビットに“0”を書き込んだだけでは入力ポートとして使用できず、ICRで入力バッファを有効にしなければなりません。この設定は、I/Oポートに限らず周辺モジュールの入力として使う場合も必要です。

ホームページに戻るトップページに戻る前ページに戻る次ページに進む最終ページに進む
■■■ 注 意 ■■■
1.ここに掲載された内容(写真,図,表などを含む)の、全てまたは一部を無断で使用しないでください。
2.ここで紹介した手法(構造や仕組み,回路,プログラムなどを含む)を使用したことにより、問題や不利益が発生したとしても一切関知しません。
3.ここで紹介したプログラム例は、正常なコンパイルおよび正常な動作を保証するものではありません。