ok

Dependencies:   lcd mbed

Files at this revision

API Documentation at this revision

Comitter:
joseortega
Date:
Tue Jun 28 18:19:04 2016 +0000
Commit message:
generador de se?ales

Changed in this revision

lcd16x2.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r bbe57925485f lcd16x2.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lcd16x2.lib	Tue Jun 28 18:19:04 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mattegan/code/lcd/#0db835052212
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=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=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=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;
+                 }
+               
+            
+            
+             }
+           } 
+        
+}}    
+
diff -r 000000000000 -r bbe57925485f mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Tue Jun 28 18:19:04 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file