【概要】
PICで使用できる算術関数ライブラリとしては、非常に多くのものがフリーソフトで
提供されています。この中でもお勧めなのが下記のようなものです。
いずれもフリーソフトとして提供されているものですので、使った場合に発生した
問題に対する責任は、いずれも使用者側にありますので注意して下さい。
1.マイクロチップ社の純正算術関数ライブラリ
2.「PICLIST.COM」で提供されているフリーソフト
3.「Programmers Heaven.com」で提供されているフリーソフト
【マイクロチップ社の算術ライブラリ】
まずは純正のライブラリからです。Microchip社のホームページで、「Math」で検索
すると下記のようにいくつかのライブラリがあることが判ります。
いずれもそれぞれに特徴や制限がありますのでそれを確認して使うことが必要です。
それぞれApplication Notesとして説明書と一緒にダウンロードできます。
(1) AN526 PIC16C5x/PIC16Cxx Utility Math Routines
PIC16用の標準ライブラリで、1バイトと2バイトの算術関数を含んでいます。
さらにそれぞれの関数が速度優先とサイズ優先の2種類が用意されています。
内蔵関数は下記となっています。
・8×x8の符号なし乗算 ・16×16の乗算、加算、減算
・BCDとバイナリの変換 ・BCDの加算、減算
・平方根 ・固定小数点数の除算
(2) AN544 Math Utility Routines
PIC17用の算術関数で、ARITH.ASMとBCD.ASMとFXP-DIV.ASMの3つで構成
されています。数多くの関数を含んでいます。
特にランダム数生成や、ガウス分布数の生成関数もあります。
(3) AN575 IEEE 754 Compliant Floating Point Routines
IEEE754という浮動小数の規格に則した浮動小数演算関数のライブラリです。
PIC16とPIC17用の両方があります。基本は32ビット表現の浮動小数点数を扱い
下記の関数を含んでいます。また24ビットに縮小した関数も含んでいます。
・整数と浮動小数の相互変換 ・正規化
・加減乗除の四則関数
(4) AN617 Fixed Point Routines
固定小数点数の算術関数で、除算と乗算関数を含んでいます。
(5) AN660 Floating Point Routines
IEEE754準拠の浮動小数の算術関数ライブラリで四則以外の関数を多く含んで
います。PIC16とPIC17両方があり、かつ32ビット表現と24ビット縮小表現の
両方があります。下記関数を含んでいます。
・平方根 ・指数 ・自然対数と対数 ・三角関数
・基底 ・比較 ・ランダム整数生成
(6) AN670 Floating Point to ASCII Conversion
浮動小数を表示するときに必要となる、数値のASCII文字コードへの変換です。
32ビット浮動小数用と24ビット浮動小数用の両方が用意されています。
【PICLIST.COMの算術ライブラリ】
PICに関するメーリングリストや、多くのソースコードなどを整理しているサイトです。
ここにも算術関数ライブラリが紹介されていて、非常にたくさんのライブラリが
あります。
★ PICLIST.COMのHome
★ PIC用プログラムのダウンロードページ
この中に「Math / Functions / Conversions 」として算術関数ライブラリが提供
されています。
【Programmers Heaven.comの算術ライブラリ】
プログラマが便利に使えるフリーソフトを2万本以上集めたサイトで、パソコン用の
ソフト開発ツールが主になっていますが、この他にPICなどのマイコン開発用のソフト
のライブラリも紹介されています。
★ Programmers Heaven.comのHome
★ PIC用プログラムのダウンロードページ
この中に「Floating point kit for PIC」として浮動小数の関数ライブラリが
あります。
コードサイズが小さいことが特徴です。