jose ortega cervantes
/
generado_final
ok
Diff: main.cpp
- Revision:
- 0:bbe57925485f
diff -r 000000000000 -r bbe57925485f main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jun 28 18:19:04 2016 +0000 @@ -0,0 +1,188 @@ +#include "mbed.h" +//#include "lcd.h" + +//lcd pantalla(PTB8,PTB9,PTB10,PTE2,PTE3,PTE4,PTE5); +//lcd::lcd(PinName _rs, PinName _rw, PinName _e, PinName _db4, PinName _db5, PinName _db6, PinName _db7): + +Serial pc (USBTX,USBRX); +DigitalOut myled(LED2); + + +//DigitalIn s(D4); +//DigitalIn t(D5); +//DigitalIn c(D6); +//DigitalIn c2(D7); +AnalogOut sal (PTE30); +Ticker timer; + +float i=0; +int m; +float T,a,in,amp=2.0/3.3; +int f=100; +char ts=0; + + +//void clear(){ + // } + +void senoidal(){ + + a+=in; + sal=0.5+((sin(a)/2)*amp); //0.031416 + if(a>=6.2832){ + a=0; + } + + } + + void cuadrada(){ + a++; + if(a<=m/2){ + sal=amp; + }else{ + sal=0; + } + if(a>=m){ + a=0; + + } + } + // void triangula(){ + // in++; + // if(in<=m/2){ + /* + sal=in; + }else{ + in--; + sal=in; + + + + + + + for( in=0 ;in<10;in=in+.01){ + i=in*.33; + + sal=i; + wait(0.50); + // pc.printf("%f,variable i\n",i); + //pc.printf("%f\n",a); + } + + for( in=10;in>0; in=in-0.1){ + i=in*.33; + + sal=i; + + //pc.printf("%f\n",i); + // pc.printf("%f\n",a); + }} + + + */ +int main() { + + T=1.0/f; + m=T*20000.0; + in=6.2832/m; + + + while(1) { + + pc.printf("seleccione tipo de senal\n"); + // pantalla.locate(0,1); + //pantalla.printf("seleccione tipo de senal\n"); + //pantalla.clear(); + ts=pc.getc(); + switch (ts){ + case 's': + // pantalla.locate(0,1); + pc.printf("ingrese frecuencia senoidal\n"); + //pantalla.printf("ingrese frecuencia senoidal\n"); + // pantalla.locate(1,2); + pc.scanf("%d",&f); + //pantalla.locate(0,1); + pc.printf("ingrese amplitud senoidal\n"); + //pantalla.locate(1,2); + pc.scanf("%f",&); + amp=amp/3.3; + T=1.0/f; + m=T*20000.0; + in=6.2832/m; + timer.attach(&senoidal,0.00005); + pc.printf("termino\n"); + ts=0; + + +// pantalla.clear(); + break; + case 'c': + myled=0; + // pantalla.locate(0,1); + pc.printf("ingrese frecuencia cuadrada\n"); + //pantalla.locate(1,2); + pc.scanf("%d",&f); + //pantalla.locate(0,1); + pc.printf("ingrese amplitud cuadrada\n"); + //pantalla.locate(1,2); + pc.scanf("%f",&); + amp=amp/3.3; + T=1.0/f; + m=T*20000.0; + timer.attach(&cuadrada,0.00005); + //pantalla.locate(0,1); + //pantalla.printf("termino\n"); + pc.printf("termino\n"); + ts=0; + break; + + case 't': + // pantalla.locate(0,1); + pc.printf("ingrese frecuencia triangular\n"); + //pantalla.locate(1,2); + pc.scanf("%d",&f); + //pantalla.scanf("%d",&f); + // pantalla.locate(0,1); + pc.printf("ingrese amplitud triangular\n"); + //pantalla.printf("ingrese amplitud triangular\n"); + //pantalla.locate(1,2); + pc.scanf("%f",&); + amp=amp/3.3; + T=1.0/f;//0.0125 + in=200/m; + m=T*20000.0;//250 + + + for( in=0 ;in<70;in++){ + i=in*.067; + + sal=i; + + + + + + + for( in=70;in>1; in--){ + i=in*.067; + + sal=i; + + + + pc.printf("termino\n"); + + //timer.attach(&triangula,0.00005); + + ts=0; + break; + } + + + + } + } + +}} +