luiz fischer / Mbed 2 deprecated T6_CD_parte2

Dependencies:   mbed

Revision:
0:dd4331d7abaf
diff -r 000000000000 -r dd4331d7abaf main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jan 05 17:59:10 2018 +0000
@@ -0,0 +1,90 @@
+#include "mbed.h"
+
+Ticker aciona_interrupcao;
+
+Serial pc(SERIAL_TX, SERIAL_RX, 115200);
+
+AnalogIn tensao_entrada(A4);
+AnalogIn tensao_saida(A5);
+
+PwmOut pwm(D5);
+
+DigitalOut carga(PB_5);
+
+static int interrupt = 1, k=0, periodo_pwm = 1, tam = 500;
+float tempo = 0.001;
+
+    
+float le_tensao_vout(){
+    return tensao_saida.read()*3.3;
+    }
+
+
+void imprime_dados(float u, float vout){
+    pc.printf("\n%d", k);    
+    pc.printf("     ");
+    pc.printf("%f", u);    
+    pc.printf("     ");  
+    pc.printf("%f", vout);  
+}
+
+void interrupcao(){
+    interrupt = 1;
+    k=k+1;
+}
+
+void fim(){   
+    pc.printf("];");
+    pc.printf("\nfigure(1)");
+    pc.printf("\nsubplot(2,1,1)");
+    pc.printf("\nstairs(dados(:,3),'k')");    
+    pc.printf("\ngrid on");
+    pc.printf("\nylabel('saida')");
+    pc.printf("\nsubplot(2,1,2)");    
+    pc.printf("\nstairs(dados(:,2))");
+    pc.printf("\ngrid on");
+    pc.printf("\nsave dados_degrau dados");
+    pc.printf("\nylabel('entrada')\n\n");
+    
+    pwm.pulsewidth_us(1);
+      
+    while(1){ 
+      
+    }  
+}
+
+
+int main() {
+    int i = 0;
+    float vin=0.0,vout=0.0, u=0.0;
+    
+    
+    aciona_interrupcao.attach(&interrupcao, 0.03);
+    
+    pwm.period_ms(periodo_pwm);
+    
+    pc.printf("%% Inicio do programa");  
+    pc.printf("\nclear all; clc;");  
+    pc.printf("\ndados = [");  
+    
+    while(1){
+        
+    if(interrupt) {
+        
+        if(k>50){
+        u = 3.3;
+        pwm.pulsewidth_us(1000);        
+        }
+        imprime_dados(u, le_tensao_vout());
+        
+        
+        interrupt = 0;
+        
+        if(k==tam-1) fim();
+            
+      
+    }
+    
+
+}
+}
\ No newline at end of file