« 初めてのパーツは要注意! | トップページ | ちょいと珍しいパーツ「シンクロ」 »

2017年2月 9日 (木)

初めてのRX220マイコン

48ピンのRX220マイコンでちょいと工作中。
ツールはE1エミュレータにHEWを利用。

11_2

初めてのチップを使う時、あれやこれやら慣れるまでが
たいへん。
で、プログラムの肝をメモ。 (RX210でも同じようなことが)

●I/Oイニシャルでの注意点

・クロックやらの重要レジスタを触る時は
 プロテクトレジスタ:PRCRの操作が必須。
   SYSTEM.PRCR.WORD=0xA503;  // プロテクト一時解除

・ポートの機能を切り替える(単純入出力から周辺内蔵I/O端子が
 使えるように)ときは、PFSレジスタ書き込み許可をオンにしな
 いといけない。
  MPC.PWPR.BIT.B0WI=0;   // B0WIを0にしてから
  MPC.PWPR.BIT.PFSWE=1;   // PFS変更可に

・タイマーやシリアル、A/Dを使うときはモジュールストップ
 を解除しなければならない。
  SYSTEM.MSTPCRA.BIT.MSTPA9=0;  // MTU0
  SYSTEM.MSTPCRA.BIT.MSTPA17=0;  // A/D
  SYSTEM.MSTPCRB.BIT.MSTPB26=0;  // SCI5
  SYSTEM.MSTPCRB.BIT.MSTPB30=0;  // SCI1

これらをしておかないと、周辺I/Oのイニシャルができません。
RX210マイコンでも同様。

タイマーやらA/Dが動かないな~っという時は、これらを
思い出してください。

※追記
例えばMTU0で1mSタイマー割込みを得て、確認のために
500Hz方形波をポートに出したい時。(クロックは16MHzで)
こんな具合に書きます。
             (フォントで文字ずれが出ますが)
// タイマー0, 1ms割込み
  MTU0.TCR.BYTE = b01000010;
  //        |||||+++-------- TPSC 1/16 1MHz
  //        |||++----------- CKEG ↑エッジ
  //        +++------------- CCLR TGRBコンペアマッチ
  MTU0.TIORH.BYTE = b00110000;
  //         ++++------- MTIOC0B トグル
  MTU0.TGRB      = 1000-1;    // 1kHz PA1には500Hz出力
  MTU.TSTR.BIT.CST0  = 1;      // タイマー0開始

  MPC.PA1PFS.BYTE   = 0x01;     // PA1:MTIOC0B ★1
  PORTA.PMR.BIT.B1  = 1;      // PA1周辺機能 ★2

  MTU0.TIER.BIT.TGIEB = 1;      // TGRB割込み許可
  IPR(MTU0, TGIB0) = 0x0F;      // プライオリティ ★3
  IEN(MTU0, TGIB0) = 1;        // 割り込み ★4

PA1に500Hz方形波を出すにはMTU0をイニシャルするだけ
ではだめで、★1、2の処理が必要です。

また、タイマー割込みも、★3、4のように割込みレジスタを
操作しなくちゃなりません。

慣れるまでは、なかなか言うことをきいてくれないマイコンチップです。

|

« 初めてのパーツは要注意! | トップページ | ちょいと珍しいパーツ「シンクロ」 »

電子回路工作」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/604464/64871073

この記事へのトラックバック一覧です: 初めてのRX220マイコン:

« 初めてのパーツは要注意! | トップページ | ちょいと珍しいパーツ「シンクロ」 »