AnalogOut - アナログ出力

AnalogOut - アナログ出力

Information

本ページは私家版のため、誤り等あればご指摘ください。
最新の情報は公式のドキュメントをご参照ください。 http://mbed.org/handbook/AnalogOut

ピンをアナログ出力に設定し、電圧を出力します。
10ビットのDAコンバーターを搭載しています。

http://mbed.org/media/uploads/mbedofficial/analogout_interfaces.png

初期化

AnalogOut name(pin);

name: 名前(自由に決めて良い)
pin: ピン名(p18)

出力

name = 0.5;

0(0V)~1(3.3V)の数値(float)で出力を指定します。

name.write_u16 = 1000;

0(0V)~65535(0xffff, 3.3V)の数値(unsigned short)で出力を指定します。(上位10ビットが有効)

0Vから3.3Vまで徐々に電圧を上げながら出力します

#include "mbed.h"

AnalogOut signal(p18);

int main() {
    while(1) {
        for(float i=0.0; i<1.0; i+=0.1) {
            signal = i;
            wait(0.0001);
        }
    }
}

LPCXpresso LPC1768 コード

AOUT出力

#include "LPC17xx.h"

int main() {
    int da = 512; // 0-1023

    LPC_SC->PCONP |= (1 << 12); // PCADC
    LPC_SC->PCLKSEL0 &= ~(3 << 22); // PCLK_DAC ck/4 (00)

    LPC_PINCON->PINSEL1 &= ~(3 << 20); // AOUT
    LPC_PINCON->PINSEL1 |= (2 << 20); // AOUT
    LPC_PINCON->PINMODE1 |= (2 << 20); // floating

    LPC_DAC->DACR = (da & 0x03ff) << 6;
}

詳細 戻る


2 comments on AnalogOut - アナログ出力:

28 Apr 2012

参考にしました。ありがとうございます。

Quote:

name.write_u16 = 1000;

0(0V)~65535(0xffff, 3.3V)の数値(float)で出力を指定します。(上位10ビットが有効)

この部分は

Quote:

name.write_u16(1000);

0(0V)~65535(0xffff, 3.3V)の数値(unsigned short)で出力を指定します。(上位10ビットが有効)

が正しいのではないでしょうか?

12 Sep 2014

Takashi Masuyama様。 修正しました。ありがとうございます。

Please log in to post comments.