next up previous contents
: D/A出力のプログラム : マイコンプログラム : モータ制御プログラム   目次


A/D入力のプログラム

adin()はA/D入力を行い、得た値を返す関数である。引数には、命令語から先頭4ビットを除いた2byteの値を与える。引数の内容は6.2.2で述べたとおりである。受信コマンドを仮にcommand、シリアルポートに2byteのデータを出力する関数をputw()であるとすると、A/D入力のプログラムは以下のようになる。
if ((commad & 0xF000) == 0x2000) {
    _acc = adin(command & 0x0FFF);
    if (_batFlag != BAT_RUNNING){
        putw(_acc);
    }
}
_accは比較命令に用いる大域変数である。また、_batFlagはバッチの実行状態を保持する大域変数であり、BAT_RUNNINGはバッチの実行中であることを示すために定義された定数である。なお、SFRの操作はadin()の内部で行っている。SFRの詳細な使用法に関しては省略する。



Deguchi Lab. 平成20年3月5日