sin Wave generation by AnalogOut

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "iostream"
00003 DigitalOut myled(PF_14);
00004 AnalogOut aout(PA_4);
00005 
00006 const double pi = 3.141592653589793238462;
00007 const double amplitude = 0.5f;
00008 const double offset = 65535/2;
00009 using namespace std;
00010 int main() {
00011   double rads = 0.0;
00012   uint16_t sample = 0;
00013   cout<<"hello\n";
00014     printf("Analog Out demo\n");
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 }