fghfgh

Dependencies:   mbed CMSIS_DSP_5 TextLCD

Committer:
javiervicente
Date:
Mon Oct 08 17:12:37 2018 +0000
Revision:
1:bdbd76df2103
Parent:
0:0d5a524c7d25
Child:
2:69827542e976
en funciones

Who changed what in which revision?

UserRevisionLine numberNew contents of line
javiervicente 0:0d5a524c7d25 1 #include "mbed.h"
javiervicente 0:0d5a524c7d25 2 #include "datos.h"
javiervicente 0:0d5a524c7d25 3 #include "arm_math.h"
javiervicente 0:0d5a524c7d25 4 //#include "math.h"
javiervicente 0:0d5a524c7d25 5
javiervicente 1:bdbd76df2103 6 float datosf[500];
javiervicente 0:0d5a524c7d25 7
javiervicente 0:0d5a524c7d25 8 DigitalOut myled(LED1);
javiervicente 0:0d5a524c7d25 9 Timer timer;
javiervicente 0:0d5a524c7d25 10 int16_t dato;
javiervicente 1:bdbd76df2103 11 int32_t producto;
javiervicente 1:bdbd76df2103 12 float productof;
javiervicente 1:bdbd76df2103 13 int64_t sumatorio=0;
javiervicente 1:bdbd76df2103 14 float sumatoriof=0.0;
javiervicente 1:bdbd76df2103 15 float final;
javiervicente 1:bdbd76df2103 16
javiervicente 1:bdbd76df2103 17 void initFloat();
javiervicente 1:bdbd76df2103 18 void Calculo1();
javiervicente 1:bdbd76df2103 19 void Calculo1Float();
javiervicente 1:bdbd76df2103 20 void Calculo2();
javiervicente 1:bdbd76df2103 21 void Calculo3();
javiervicente 0:0d5a524c7d25 22
javiervicente 0:0d5a524c7d25 23 int main()
javiervicente 0:0d5a524c7d25 24 {
javiervicente 1:bdbd76df2103 25
javiervicente 1:bdbd76df2103 26 initFloat();
javiervicente 1:bdbd76df2103 27 Calculo1();
javiervicente 1:bdbd76df2103 28 Calculo1Float();
javiervicente 1:bdbd76df2103 29 Calculo2();
javiervicente 1:bdbd76df2103 30 Calculo3();
javiervicente 1:bdbd76df2103 31
javiervicente 1:bdbd76df2103 32
javiervicente 1:bdbd76df2103 33
javiervicente 1:bdbd76df2103 34 //int16_t resultado;
javiervicente 1:bdbd76df2103 35 //arm_rms_q15(datos,500, &resultado);
javiervicente 0:0d5a524c7d25 36
javiervicente 1:bdbd76df2103 37 }
javiervicente 1:bdbd76df2103 38
javiervicente 1:bdbd76df2103 39 void initFloat()
javiervicente 1:bdbd76df2103 40 {
javiervicente 1:bdbd76df2103 41 for (int n=0; n<500; n++) {
javiervicente 1:bdbd76df2103 42 datosf[n]=datos[n];
javiervicente 1:bdbd76df2103 43 }
javiervicente 1:bdbd76df2103 44 }
javiervicente 1:bdbd76df2103 45
javiervicente 1:bdbd76df2103 46 void Calculo1()
javiervicente 1:bdbd76df2103 47 {
javiervicente 1:bdbd76df2103 48 sumatorio=0;
javiervicente 1:bdbd76df2103 49 timer.reset();
javiervicente 0:0d5a524c7d25 50 timer.start();
javiervicente 0:0d5a524c7d25 51 for (int n=0; n<500; n++) {
javiervicente 0:0d5a524c7d25 52 producto=datos[n]*datos[n];
javiervicente 0:0d5a524c7d25 53 sumatorio+=producto;
javiervicente 0:0d5a524c7d25 54 }
javiervicente 0:0d5a524c7d25 55 timer.stop();
javiervicente 0:0d5a524c7d25 56 final=sumatorio;
javiervicente 1:bdbd76df2103 57 printf("****Calculo 1****\n");
javiervicente 0:0d5a524c7d25 58 printf("%f ",final);
javiervicente 0:0d5a524c7d25 59 printf("tiempo %d\n",timer.read_us());
javiervicente 1:bdbd76df2103 60
javiervicente 1:bdbd76df2103 61 }
javiervicente 1:bdbd76df2103 62
javiervicente 1:bdbd76df2103 63 void Calculo1Float()
javiervicente 1:bdbd76df2103 64 {
javiervicente 1:bdbd76df2103 65 sumatoriof=0;
javiervicente 1:bdbd76df2103 66 timer.reset();
javiervicente 1:bdbd76df2103 67 timer.start();
javiervicente 1:bdbd76df2103 68 for (int n=0; n<500; n++) {
javiervicente 1:bdbd76df2103 69 productof=datosf[n]*datosf[n];
javiervicente 1:bdbd76df2103 70 sumatoriof+=productof;
javiervicente 1:bdbd76df2103 71 }
javiervicente 1:bdbd76df2103 72 timer.stop();
javiervicente 1:bdbd76df2103 73 final=sumatoriof;
javiervicente 1:bdbd76df2103 74 printf("****Calculo 1 Float****\n");
javiervicente 1:bdbd76df2103 75 printf("%f ",final);
javiervicente 1:bdbd76df2103 76 printf("tiempo %d\n",timer.read_us());
javiervicente 1:bdbd76df2103 77 }
javiervicente 1:bdbd76df2103 78
javiervicente 1:bdbd76df2103 79 void Calculo2()
javiervicente 1:bdbd76df2103 80 {
javiervicente 0:0d5a524c7d25 81 sumatorio=0;
javiervicente 0:0d5a524c7d25 82 timer.reset();
javiervicente 0:0d5a524c7d25 83 timer.start();
javiervicente 0:0d5a524c7d25 84 for (int n=0; n<500; n++) {
javiervicente 0:0d5a524c7d25 85 dato=datos[n];
javiervicente 0:0d5a524c7d25 86 producto=dato*dato;
javiervicente 0:0d5a524c7d25 87 sumatorio+=producto;
javiervicente 0:0d5a524c7d25 88 }
javiervicente 0:0d5a524c7d25 89 timer.stop();
javiervicente 0:0d5a524c7d25 90 final=sumatorio;
javiervicente 1:bdbd76df2103 91 printf("****Calculo 2****\n");
javiervicente 0:0d5a524c7d25 92 printf("%f ",final);
javiervicente 0:0d5a524c7d25 93 printf("tiempo %d\n",timer.read_us());
javiervicente 0:0d5a524c7d25 94
javiervicente 1:bdbd76df2103 95 }
javiervicente 1:bdbd76df2103 96
javiervicente 1:bdbd76df2103 97 void Calculo3()
javiervicente 1:bdbd76df2103 98 {
javiervicente 0:0d5a524c7d25 99 timer.reset();
javiervicente 0:0d5a524c7d25 100 timer.start();
javiervicente 0:0d5a524c7d25 101
javiervicente 0:0d5a524c7d25 102 arm_dot_prod_q15(datos,datos,500,&sumatorio);
javiervicente 0:0d5a524c7d25 103 timer.stop();
javiervicente 0:0d5a524c7d25 104 final=sumatorio;
javiervicente 1:bdbd76df2103 105 printf("****Calculo 3****\n");
javiervicente 0:0d5a524c7d25 106 printf("%f",final);
javiervicente 0:0d5a524c7d25 107 printf("tiempo %d\n",timer.read_us());
javiervicente 0:0d5a524c7d25 108
javiervicente 0:0d5a524c7d25 109 }