jueves, 2 de febrero de 2017

STM32F103C8T6 vs Arduino - Test de un bucle

Página principal


STM32F103C8T6
vs
Arduino
Test en un bucle


En esta practica voy a comparar la rapidez de un bucle en las dos placas.

Programa de bucle
//  Arduino
//  22.6 Seg.  __2000

//  STM
//  5.8 Seg.  ___2000

int n1,n2;
char z;

// STM
#define pinLED1 PA0

//Arduino
//#define pinLED1 13

void setup()
{
 pinMode(pinLED1, OUTPUT);
}

void loop()
{
   digitalWrite(pinLED1, HIGH);
   for(n1=0;n1<30000;n1++)
     {
       for(n2=0;n2<2000;n2++) { z=1; }
     }
   digitalWrite(pinLED1, LOW);
   for(n1=0;n1<30000;n1++)
     {
       for(n2=0;n2<2000;n2++) { z=0; }
     }
              
}


Como podemos comprobar que  si utilizamos el mismo programa, en Arduino tarda en recorrer el bucle 22.6 Seg. , y si utilizamos el STM32  tarda 5.8 Seg.
La comparación es de  3.8 veces más rápido el STM32 .
Yo esperaba bastante más rápido el STM32 por ser un micro de 32 bits  frente al arduino que es de 8 bits.
Además el uno funciona a 72 MHz frente al otro que funciona a 16 MHz.
Debemos pensar que la optimización de código de cada compilador es diferente.


Saludos.
JUAN GALAZ

No hay comentarios:

Publicar un comentario