Basic_sine_wave_generator
Dependencies: 4DGL-uLCD-SE mbed-rtos mbed
Fork of 4180_proj by
Diff: main.cpp
- Revision:
- 4:1b82016459ff
- Parent:
- 3:bb920a8eb590
- Child:
- 5:38c6ba85a6ec
--- a/main.cpp Fri Nov 27 02:03:52 2015 +0000 +++ b/main.cpp Fri Nov 27 02:25:53 2015 +0000 @@ -26,8 +26,13 @@ float x; //-----User Specified, change it if needed------- -int waveform_type=0; //0 for sine, -float freq,amp=1,offset=0.5; +int waveform_type; //0 for sine, +float freq,amp,offset,duty_cycle; + +/* + sine wave use: freq,amp,offset + square wave use: freq,amp,offse and duty_cycle +*/ void initialize_LCD(){ @@ -46,13 +51,29 @@ //------if sine wave-------- if (waveform_type==0){ for (int datapoint_counter=0; datapoint_counter<length_waveform; datapoint_counter++){ - x=amp*(cos(2*pi*freq*t)+1); - waveform[datapoint_counter]=(uint16_t) (x*32767); + x=amp/3.3*cos(2*pi*freq*t)+offset/3.3; + waveform[datapoint_counter]=(uint16_t) (x*65535); t += time_interv; } } - //------if other wave-------- + //------if square wave-------- + /*if (waveform_type==1){ + for (int datapoint_counter=0; datapoint_counter<length_waveform; datapoint_counter++){ + if (datapoint_counter>=length_waveform){ + + + + } + + + waveform[datapoint_counter]=(uint16_t) (x*32767); + + }*/ + + + + } void output_waveform_datapoints(){ //Output the data points using DAC (pin18) @@ -68,8 +89,8 @@ int main(void){ waveform_type=0; //0 for sine, - freq=2; //Hz - amp=1; //Sacle factor, 1=full range + freq=10; //Hz + amp=0.5; //Sacle factor, 1=full range offset=0.5; initialize_LCD(); generate_waveform_datapoints();