
Example of AnalogOut.
Repeatedly raise voltage from 0V to VCC on output pin in 0.1*VCC V increments. The voltage values are printed to console.
Diff: main.cpp
- Revision:
- 0:df98cf0f64e4
- Child:
- 5:a32148e02ecf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jan 20 23:09:57 2015 +0000 @@ -0,0 +1,36 @@ +/* mbed Example Program + * Copyright (c) 2006-2015 ARM Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mbed.h" + +// Initialize a pins to perform analog and digital output fucntions +AnalogOut aout(p18); +DigitalOut dout(LED1); + +int main(void) +{ + while (1) { + // change the voltage on the digital output pin by 0.1 * VCC + // and print what the measured voltage should be (assuming VCC = 3.3v) + for (float i = 0.0f; i < 1.0f; i += 0.1f) { + aout = i; + printf("aout = %1.2f volts\n", aout.read() * 3.3f); + // turn on the led if the voltage is greater than 0.5f * VCC + dout = (aout > 0.5f) ? 1 : 0; + wait(1.0f); + } + } +}