next up previous contents
Next: 動作確認 Up: マイコンに書き込んだプログラム Previous: 光センサーの読み込み

DA変換

daout0()とdaout1()はDAC0とDAC1によってDA変換を行う関数である。aの0,1番目のビットでDAC0かDAC1を指定する。getc()は値をマイコンに読み込む関数である。12ビットのDACに対して、スクイークとマイコンの間の通信は8ビット通信なので、入力を2つに分けてその値をを読み込む必要がある。

if ((a&0x60) == 0x20) {               //DA
    n = getc();                     //DA変換を行いたい値を読み込む
    n = ((n&0x0f) << 8) + getc();     //読み込んだ値の4ビット
                                      //と新しく読み込む値を足す。
    if ((a&0x01) == 0x00) daout0(n);  //DAC0かDCA1を判断する
    else daout1(n);               
}


Deguchi Lab.