« 【株】 2014/05/02(金) ±0 日経▲27.62 | トップページ | 【株】 2014/05/07(水) ±0 日経▲424.06 »

【PIC備忘ログ】 2014/05/05(月) PIC18+xc8のライブラリ

PICマイコンは入門用とかよく聞きます。

とんでもないですcoldsweats01

英語読解とアセンブラに長けた人なら良いでしょう。

PICのメリットは開発環境が安く整う。これのみです。

NECの78kなどはアーキテクチャがひどいのでそれよりはマシですが・・

Microchip純正のフリーコンパイラがxc8です。
一応、「plib」というライブラリもありますが、これが使いにくいのなんの。以下、使い方です。

1.xc8の共通ヘッダのインクルード

xc8の共通ヘッダファイルをインクルードします。

#include <xc8.h>

2.使用ペリフェラルヘッダのインクルード

使用するペリフェラルのヘッダファイルをインクルードします。ADCを使うなら

#incluide <plib/adc.h>

plibにパスを通している場合は

#include <adc.h>

でOK。

3.呼ぶべきライブラリ関数の型を調べる

ペリフェラルヘッダで定義しているライブラリ関数のソースは

C:\Program Files (x86)\Microchip\xc8\v1.31\sources

以下にあります(xc8 ver1.31の場合)。

例えば、PIC18シリーズのADCの場合は以下になります。

C:\Program Files (x86)\Microchip\xc8\v1.31\sources\pic18\plib\ADC

4.使用するPICに対応するライブラリ関数を調べる

例えば、ADCを使用開始する際は「OpenADC」という関数を呼ぶ必要があるのですが、関数名は同じでも、PICのタイプによって引数の型や種類が違っています(C言語なのでC++のような多態性などありません。適切なプロトタイプの関数のみリンクさせる必要があります)。

使用予定のPICには、どの型のものを使えばいいかを調べるには

C:\Program Files (x86)\Microchip\xc8\v1.31\sources\pic18\plib\

にあるpconfig.hの中身を調べる必要があります。

例えば、PIC18C252を選択(MPLAB XのNew Projectを作成時に選ぶ)した場合は

#ifdef   __18C252
/*############################################################*/
/*          Configuration for device =  'PIC18C252'           */
/*############################################################*/
/* ADC */
#define ADC_V1

とあるので、PIC18C252のADCライブラリは、「ADC_V1」で囲まれた部分にあるものだと分かります。

5.ライブラリ関数の引数に使うためのdefineがクセモノ

このplib、ADCならレジスタビットのCHやACQTなどを指定すれば良いようなパラメータになっておらず、結局はライブラリのソースを読む必要があります(レジスタの各ビットを一度OFFしてからONしなくてもいいようになってる)。

plib関数のパラメータの多くは、ヘッダに定義がありますが、レジスタ名やビット名でdefineされていないので、結局は読み解く必要があります。

レジスタの設定順序などを参考にしつつ、関数を自作した方が早いです(半分本気。実際そうしました)。

« 【株】 2014/05/02(金) ±0 日経▲27.62 | トップページ | 【株】 2014/05/07(水) ±0 日経▲424.06 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

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

トラックバック

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

この記事へのトラックバック一覧です: 【PIC備忘ログ】 2014/05/05(月) PIC18+xc8のライブラリ:

« 【株】 2014/05/02(金) ±0 日経▲27.62 | トップページ | 【株】 2014/05/07(水) ±0 日経▲424.06 »

便利リンク☆

  • amazon
  • DMMCFD
  • 楽天証券
  • 外為ジャパン
  • DMM.fx

便利リンク☆☆

  • SoftBank SMART PHONE STORE
  • A8.net webアプリケーションエンジニア募集!!
  • Point Income
    暮らしをおトクにかえていく|ポイントインカム
  • 無敵の桃バスト
無料ブログはココログ