趣味のブログ

アクセスカウンタ

zoom RSS 秋月パーツ、PIC32MXの28ピンDIP

<<   作成日時 : 2012/07/19 20:36   >>

面白い ブログ気持玉 1 / トラックバック 0 / コメント 0

PICには、8ビット、16ビットとある中、32ビットのRISCを使用したものがあります。従来はピン数が多いので表面実装パッケージのものしかなかったのですが、秋月のサイトを見ると、28ピンDIPのPIC32MXが在りました。PIC32MX110F016B、PIC32MX120F032B、PIC32MX210F016B、PIC32MX220F032Bの4種類がありました。これらはメモリサイズの違いやUSBホストが使えるなどの違いがありますが、いずれも28ピンDIPです。早速LED点滅プログラムを入れてみました。

画像PIC32MXでは、クロックとして外部発振子をPLLによって逓倍することにより80MHzのクロックで動作させることが出来ます。電源や必要とする外付け部品などはPIC24FJ64GA002などと変わりはありません。従来のマイコンと同じような扱いでPIC32MXが使えることになります。プログラムは以下のように非常に簡単ですが、CONFIGの設定が重要です。一部コメントアウトしてあるのは、USBに対応したPIC32MX210F016Bなどで設定が必要になるところです。
通常では、forループにより50000回空ループを実行すると1秒ぐらいの間隔でLEDが点滅するのですが、PIC32MXでは、実行速度が速いためか、最適化の効率がよいのか目にも留まらぬ速さで点滅します。そのため、もう1レベルforループをおいています。
28ピンのパッケージが用意されたのは、入出力ピンなどはそれほど必要なく、速度だけが必要になるアプリケーションがあったためと思いますが、自作派にとっては扱いの容易なDIPパッケージが用意されたのは歓迎されることです。動作させることに夢中になり、まだあまりプログラムを作っていないのですが、速度が必要な応用での利用が期待できます。また、まだ使っていないのですが、PIC32MX210F016BなどのようにUSBホストに対応したものがあります。これは、PIC24FJ64GB002などと同じように、USBの機能が付き、HOST OTGにも対応するのでUSBでの応用が期待できます。


サンプルプログラム:Blink110.c
#include  <p32xxxx.h>
//  OSC=8MHz  ,  Fcy=80MHz
//        #pragma  config  UPLLEN      =  ON                //  USB  PLL  Enabled
       #pragma  config  FPLLMUL    =  MUL_20  //15                //  PLL  Multiplier
//        #pragma  config  UPLLIDIV  =  DIV_2                  //  USB  PLL  Input  Divider
       #pragma  config  FPLLIDIV  =  DIV_2                  //  PLL  Input  Divider
       #pragma  config  FPLLODIV  =  DIV_1                  //  PLL  Output  Divider
       #pragma  config  FPBDIV      =  DIV_1                  //  Peripheral  Clock  divisor
       #pragma  config  FWDTEN      =  OFF                      //  Watchdog  Timer
       #pragma  config  WDTPS        =  PS1                      //  Watchdog  Timer  Postscale
       //#pragma  config  FCKSM        =  CSDCMD                //  Clock  Switching  &  Fail  Safe  Clock  Monitor
       #pragma  config  OSCIOFNC  =  OFF                      //  CLKO  Enable
       #pragma  config  POSCMOD    =  HS                        //  Primary  Oscillator
       #pragma  config  IESO          =  OFF                      //  Internal/External  Switch-over
       #pragma  config  FSOSCEN    =  OFF                      //  Secondary  Oscillator  Enable  (KLO  was  off)
       #pragma  config  FNOSC        =  PRIPLL                //  Oscillator  Selection
       #pragma  config  CP              =  OFF                      //  Code  Protect
       #pragma  config  BWP            =  OFF                      //  Boot  Flash  Write  Protect
       #pragma  config  PWP            =  OFF                      //  Program  Flash  Write  Protect
       #pragma  config  ICESEL      =  ICS_PGx2            //  ICE/ICD  Comm  Channel  Select

int  main(void)
{
       unsigned  int  i,j;

       ANSELA=0;
       ANSELB=0;
       TRISAbits.TRISA4=0;
       while(1)
       {
               LATAbits.LATA4^=1;
               for(i=0;i<50000;i++)
                       for(j=0;j<100;j++)  ;
       }
}




高速・多機能を実現する PIC32MX活用ガイドブック
技術評論社
後閑 哲也

amazon.co.jpで買う
Amazonアソシエイト by 高速・多機能を実現する PIC32MX活用ガイドブック の詳しい情報を見る / ウェブリブログ商品ポータル


テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
面白い

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
秋月パーツ、PIC32MXの28ピンDIP 趣味のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる