Additional AnalogOut example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 const double pi = 3.141592653589793238462;
00004 const double amplitude = 0.5f;
00005 const double offset = 65535/2;
00006 
00007 // The sinewave is created on this pin
00008 AnalogOut aout(A5);
00009 
00010 int main()
00011 {
00012     double rads = 0.0;
00013     uint16_t sample = 0;
00014     
00015     while(1) {
00016         // sinewave output
00017         for (int i = 0; i < 360; i++) {
00018             rads = (pi * i) / 180.0f;
00019             sample = (uint16_t)(amplitude * (offset * (cos(rads + pi))) + offset);
00020             aout.write_u16(sample);
00021         }
00022     }
00023 }
00024