Analog Out sine wave

Dependencies:   LSM9DS1_Library mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 //double CosineInterpolate(
00004 //    double y1, double y2,
00005 //    double mu)
00006 //{
00007 //    double mu2;
00008 //    
00009 //    mu2 = (1-cos(mu*PI))/2;
00010 //    return(y1*(1-mu2)+y2*mu2);
00011 //}
00012 
00013 AnalogOut scope(p18);
00014 
00015 int main() {
00016     
00017     //double voltOut;
00018 //    double logicOut;
00019 //    
00020 //    while(1) {
00021 //        scope = 
00022 //    }
00023 
00024     const double pi = 3.141592653589793238462;
00025     const double amplitude = 0.5f;
00026     const double offset = 65535/2;
00027     double rad = 0.0;
00028     uint16_t sample = 0;
00029     
00030     while(1) {
00031         for(int i = 0; i < 360; i++){
00032             rad = (pi * i) / 180.0f;
00033             sample = (uint16_t)(amplitude * (offset * (cos(rads + pi))) + offset);
00034             aout.write_u16(sample);
00035         }    
00036     }
00037 }