AnalogOut - アナログ出力
AnalogOut - アナログ出力
Information
本ページは私家版のため、誤り等あればご指摘ください。
最新の情報は公式のドキュメントをご参照ください。
http://mbed.org/handbook/AnalogOut
ピンをアナログ出力に設定し、電圧を出力します。
10ビットのDAコンバーターを搭載しています。

初期化
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 - アナログ出力:
Please log in to post comments.

参考にしました。ありがとうございます。
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ビットが有効)
が正しいのではないでしょうか?