lib/PCI-3133.hh
00001 // PCI-3133入出力クラス
00002 // 2011/02/18 HIDETAKA MORIMITSU & Yuki YOKOKURA
00003 //
00004 // Interface社製PCI-3133のための入出力機能を提供します。
00005 // 1チャンネル固定変換用
00006 //
00007 // Copyright (C) 2011 Yuki YOKOKURA
00008 // This program is free software;
00009 // you can redistribute it and/or modify it under the terms of the GNU General Public License
00010 // as published by the Free Software Foundation; either version 3 of the License, or any later version.
00011 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
00012 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00013 // See the GNU General Public License for more details <http://www.gnu.org/licenses/>.
00014 // Besides, you can negotiate about other options of licenses instead of GPL.
00015 // If you would like to get other licenses, please contact us<yuki@katsura.sd.keio.ac.jp>.
00016 
00017 #ifndef PCI3133
00018 #define PCI3133
00019 
00020 #include <sys/io.h>
00021 #include <unistd.h>
00022 
00023 namespace ARCS {        // ARCS名前空間
00024         class ADC3133 {
00025                 private:
00026                         unsigned int BaseAddr;                                                  // 先頭アドレス
00027                         void Settings(void);                                                    // A/Dコンバータの設定を行う関数
00028                         unsigned short Input(void);                                             // A/Dコンバータから電圧データを読み込む関数
00029                         double AdcDataToVolt(unsigned short ADCdata);   // 電圧データから電圧値[V]に変換する関数
00030                         unsigned long IIbyteCat(unsigned short High, unsigned short Low);
00031                         // 上位、下位に分かれている各々1バイトのデータを、2バイトのデータに結合する
00032         
00033                 public:
00034                         ADC3133(const unsigned int Base);               // コンストラクタ(ADC初期化&設定)
00035                         ~ADC3133();                                                             // デストラクタ(ADC終了処理)
00036                         volatile double GetVoltage(void);               // 電圧値[V]を取得
00037         };
00038 }
00039 
00040 #endif
00041 
00042 
00043 
 All Classes Files